Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

NewSequentialId auf UniqueIdentifier Clustered Index

Normalerweise erstellen Sie Ihre Indizes mit einem geeigneten FILL FACTOR für ein solches Szenario freien Platz auf all Ihren Seiten zu lassen. Davon abgesehen wird der gruppierte Index neu geordnet, sobald der leere Platz gefüllt ist.

Ich weiß, dass Sie nicht über die Verwendung von GUID diskutieren möchten als geclusterter Schlüssel, aber dies ist einer der Gründe, warum dies nicht empfohlen wird.

Was passieren wird, ist, dass Sie eine zunehmende Anzahl von Seitenteilungen haben werden, was zu einem sehr hohen Grad an Fragmentierung führt, wenn Sie weiterhin Zeilen einfügen, und Sie müssen Ihren Index häufiger neu erstellen, um die Leistung im Einklang zu halten.

Für eine vollständige Behandlung des Themas gibt es keine bessere Quelle als

Kim
Tripps
Blog

Nebenbei bemerkt, wenn Sie erwägen, Ihre eigene NewSequentialID-Erstellungsfunktion zu erstellen, haben Sie wahrscheinlich ein Designproblem und sollten Ihren Plan überdenken.