DevTrain Startseite Advanced Developers Conference vom 14.-15. Februar 2011  
  
  
SUCHEN:  
ARTIKEL ONLINE: 525   

Kategorien
.NET
Datenbanken
Web
XML

Allgemein
Camp
Foren
Events
Persönliche Einstellungen
Registrieren
Prämien Shop
Kontakt
Impressum
Über DevTrain

Autoren



 

Forum: ASP Classic | Thema: Re: SQL Server 2000: Optimierung Tabellen-Design (sehr viele Datensätze!!) | Von: G. Guest ( 23.04.2006 11:36)

Hallo

Ich weiß nicht ob dir die "klassischen Antworten" klar sind

> Gibt es für die Anzahl der Datensätze in einer Tabelle eine Obergrenze?

Jede DB hat eine maximalzahl an Datensätzen, die sie aufnehmen kann. Diese Zahl kann man abschätzen durch die Größe einen Indexes, der auf einen Datensatz zeigt. Aber bei dreistelligen Millionen sähe ich keine Probleme. Aber es gibt verschiedene SQL-Server-Versionen (Lizenzen) und hier ist der Speicherplatz beschränkt. Das könnte weit eher ein Problem werden.

> Wie kann ich das Design der Tabelle so optimieren, dass einfache SELECT-Statements in einer akzeptablen Zeit ausgeführt werden?

Darauf gibt es keine allgemeine Antwort, denn die Antwort selbst hängt vom Problem ab. Du solltest Nebenindizies einführen und die SQL-Abfrage darauf ansetzen. Nehme ein Beispiel:

Alle Bewohner Deutschlands in einer DB - (zweistelliger Millionenbereich) - und du suchst nach den Nachnamen, Straße und Geburtstag. Dann wird die Suche schneller, wenn du für jedes Feld Indexfelder einführst. Dafür wird das Integrieren einen neuen Datensatzes in die DB eben langsamer.

Weiterhin solltest du die ClR nicht nutzen (innerhalb der Suche!), denn diese würde die Performance in die Knie zwingen.

Und du könntest - solltest - einfach mal überprüfen ob die Reihenfolge in der die Bedingungen abgearbeitet werden, einen Einfluss hat auf die Geschwindigkeit.

Nehmen wir an, du hast drei Bedingungen und die erste Bedingung liefert für sich alleine 10 Mio Datensätze, die zweite Bedingung für sich alleine 1 Mio und die dritte 100.000 Datensätze. Dann würde ich vermuten, dass eine Suche in der Reihenfolge 3-2-1 die schnellste ist (wenn alle drei Suchfelder indiziert sind!). Eine solche Reihenfolgeoptimierung bedeutet aber, dass du
a) diese einmal verifizieren musst
b) eine Abschätzung brauchst über mögliche Zeitgewinne beim Umsortieren der Suchanweisung
c) ggf. diese Abschätzungen und die Umsortierungen dann vor die Suche zu integrieren hast.

Bei der Bevölkerungstabelle würde ich zum Beispiel bei einem Namen wie Müller oder Schmidt und einem bestimmten Tag als Geburtstag immer erst nach dem Geburtstag und dann nach dem Nachnamen suchen. Wenn man aber einen seltenen Namen sucht und ein Jahrzehnt zur Auswahl hat in dem der Geburtstag liegt, dann ist es unter Umständen umgekehrt besser.

Darüber hinaus gibt es m.E. keine allgemeinen Tipps sondern nur spezielle und darüber kann man nur sprechen, wenn man das spezielle Problem kennt.

Herzliche Grüße
Wolfgang



Betreff Von Datum
Re: SQL Server 2000: Optimierung Tabellen-Design (sehr...
Hallo<br><br>Also ich muss mal sagen: Man fliegt öfters raus aus nachdem man eingeloggt ist.<br><br>Herzliche Grüße<br>Wolfgang
Wolfgang Uhr 23.04.2006 11:38
Re: SQL Server 2000: Optimierung Tabellen-Design...
Meinst du hier im Forum oder im SQL server<br>2000?<br>Wenn du den Server meinst hol dir Servicepack 3a oder 4.<br>Mfg
Alex Franz 02.06.2006 15:46
Re: SQL Server 2000: Optimierung Tabellen-Design (sehr...
hi,<br><br>@Alex:<br>Eine Anmerkung zum Thema was muss ich beachten, ...<br>Lösche nie zu grosse Brocken auf einmal löschen (zumindest nicht in der Hauptverkehrszeit), sonst störts den übrigen Betrieb, und...
Jens Buthe 02.06.2006 16:56
AW: Re: SQL Server 2000: Optimierung Tabellen-Design...
Hallo,<br><br>wie schon oben erwähnt sind gerade bei großen Tabellen Indizes extrem wichtig. Aber..!! Sofern du sehr viele inserts hast oder indizierte Spalten häufig geändert werden (sagen wir mal Ändern...
Andreas Rauch 04.06.2006 18:32

Antworten
Vorsicht bei der Eingabe: Die Zeichen ' oder -- sind nicht erlaubt!

 Betreff:
 Nachricht: Den Beitrag finden Sie nun unter: http://beta.devtrain.de/foren Die Benutzerdaten und Foreninhalte von beta.devtrain.de und www.devtrain.de sind die selben.
Sie können sich dort sogar per RSS über neue Inhalte informieren lassen.
Bei Problemen bitte direkt Mail an asp [AT] ppedv.de.

 Signatur:

  



Login
Username:


Passwort:






Passwort vergessen?

Advanced Developers Conference vom 14.-15. Februar 2011

© Copyright 2003 ppedv AG