it-swarm.com.de

SQL Server - Wann wird Clustered vs. Non-Clustered Index verwendet?

Ich kenne die Hauptunterschiede zwischen gruppierten und nicht gruppierten Indizes und verstehe, wie sie tatsächlich funktionieren. Ich verstehe, wie geclusterte und nicht geclusterte Indizes die Leseleistung verbessern. Ich bin mir aber nicht sicher, aus welchen Gründen ich mich für einen anderen entscheiden würde.

Zum Beispiel: Wenn eine Tabelle keinen gruppierten Index hat, sollte man einen nicht gruppierten Index erstellen und wissen, was der Vorteil davon ist

98
armulator

Ich möchte nur ein Wort der Warnung einfügen: Bitte wählen Sie sehr sorgfältig Ihren Clustered-Index aus! Jede "reguläre" Datentabelle sollte einen Clustered-Index haben, da ein Clustered-Index in der Tat viele Operationen beschleunigt - ja, beschleunigt , sogar Einfügen und Löschen! Aber nur, wenn Sie einen guten Clustered-Index auswählen.

Es ist die am häufigsten replizierte Datenstruktur in Ihrer SQL Server-Datenbank. Der Clustering-Schlüssel ist auch Bestandteil jedes nicht gruppierten Indexes in Ihrer Tabelle.

Sie sollten beim Auswählen eines Clustering-Schlüssels äußerste Vorsicht walten lassen:

  • schmal (4 Bytes ideal)

  • unique (es ist immerhin der "Zeilenzeiger". Wenn Sie ihn nicht eindeutig machen, erledigt SQL Server dies für Sie im Hintergrund, was Sie Geld kostet ein paar Bytes für jeden Eintrag mal die Anzahl der Zeilen und die Anzahl der nicht gruppierten Indizes, die Sie haben - das kann sehr kostspielig sein!)

  • statisch (niemals ändern - wenn möglich)

  • im Idealfall nimmt die Zahl stetig zu , damit Sie nicht zu einer schrecklichen Indexfragmentierung kommen (a GUID ist das totale Gegenteil von ein guter Clustering-Schlüssel - aus diesem besonderen Grund)

  • es sollte nicht nullbar sein und im Idealfall auch eine feste Breite haben - ein varchar(250) ergibt einen sehr schlechten Clustering-Schlüssel

Alles andere sollte wirklich auf der zweiten und dritten Ebene hinter diesen Punkten stehen.

Sehen Sie sich einige von Kimberly Tripps ( The Queen of Indexing) Blog-Posts zum Thema an - alles, was sie in ihrem Blog geschrieben hat, ist von unschätzbarem Wert - lesen Sie es, verdauen Sie es - leben Sie danach!

116
marc_s