Laden...

SQL Server 2005 viele Indizes - Nachteilig?

Erstellt von Mackerlama vor 13 Jahren Letzter Beitrag vor 13 Jahren 1.163 Views
M
Mackerlama Themenstarter:in
118 Beiträge seit 2008
vor 13 Jahren
SQL Server 2005 viele Indizes - Nachteilig?

verwendetes Datenbanksystem: SQL Server 2005

Hallo,

ich habe eine Datenbank modelliert, die durch Importe von Fremddaten, Benutzung, Erweiterung usw. gewachsen ist. Mit der Hilfe des Tuning Advisor habe ich regelmässig Query analysiert und die Vorschläge angewendet.

Als ich jetzt die Datenbank mit Visio dargestellt habe, sind mir die vielen Indizes aufgefallen. Viel heißt mehr Indizes pro Tabelle, als diese Spalten hat.
--> Kann das eher Nachteilig sein? Indizes wirken sich auf die Struktur der Datendateien aus, bei mehreren Indizes kann es dann doch zu "Interessenskonflikten" kommen?

C
2.121 Beiträge seit 2010
vor 13 Jahren

Indizes wirken sich auf die Struktur der Datendateien aus

Davon wüsst ich nichts, ein Index "zeigt" auf einen Datensatz, damit man ihn findet ohne alle anderen durchsuchen zu müssen.
Die Kunst ist, nur die Indizes zu erstellen die wirklich gebraucht werden. Nicht jedes Feld das in einem WHERE auftaucht braucht einen Index. Vielleicht kann ja ein anderes indiziertes Feld die Menge schon so weit einschränken dass ein zweites Feld im WHERE dann keinen Index mehr braucht.

Eine Datenbank sollte regelmäßig auf Ausführungsgeschwindigkeiten usw. beobachtet werden. Dann kann man bei Bedarf korrigieren, neuen Index hinzufügen usw. Von Anfang an gleich alles mögliche indizieren ist Unsinn. Ein Tool kann nur sagen dass hier mal ohne Index auf etwas zugegriffen wird, aber ob das wirklich problematisch ist ergibt sich aus Hintergründen die das Tool nicht kennt. Das heißt, nur du kannst das wissen.

S
14 Beiträge seit 2008
vor 13 Jahren

Hi, also generell muss ich dem Beitrag von chillic zustimmen was das Thema betrifft. Allerdings eventuell noch eine kleine Bemerkung...

--> Kann das eher Nachteilig sein?

Ja und zwar solltest du genau schauen ob du viele Inserts / Updates - Statements verwendest weil dann kann es schon sein das es die Performance ausbremst.

Für die Indizierung generell würde ich dir empfehlen das man sinnvolle Indizierungen festlegen sollte da diese deine Abfrageperformance enorm steigern können.

~ Wer Rechtschreibfehler findet darf sie behalten ~

3.511 Beiträge seit 2005
vor 13 Jahren

Ganz wichtig, gerade bei Indizes: Der Primary Key muss nicht immer der Clustered Index sein. Alleine das Richtige setzen des Clustered Index, kann die Performance schlagartig erhöhen. Viele Indizes, oder gar mehr Indizes als Spalten, wirkt sich - wie bereits geschrieben - negativ auf Updates und Inserts aus. Zudem hat der Tuning Advisor nicht immer recht 😃

"Jedes Ding hat drei Seiten, eine positive, eine negative und eine komische." (Karl Valentin)

M
Mackerlama Themenstarter:in
118 Beiträge seit 2008
vor 13 Jahren

Performanceprobleme gibt es zwar keine, aber es ist wol doch eine gute Idee, dass ich mich da genauer belese und nicht auf Tools vertraue.