Frage

Ich habe die verschiedenen Fragen / Antworten hier lesen, die im Grunde, dass ein Clustered-Index auf einer Spalte mit Unique zeigen eine schlechte Wahl für Performance-Gründe ist. Egal, ich brauche eine Unique als meine primären Schlüssel zu verwenden, und ich will nicht verwenden NEWSEQUENTIALID (), weil die generierten Werte zu ähnlich zueinander sind (Ich brauche mehr zufälligen IDs, so dass Benutzer nicht [vernünftig] ‚Vermutung‘ eine andere ID).

Also, was ist der beste Weg, diese PK zu indizieren? Auch wenn ein Clustered-Index auf dieser Spalte nicht ideal ist, ist es besser als ein „einzigartiger, nicht-geclusterten“ index?

Ich bin mit SQL Server 2005.

War es hilfreich?

Lösung

Vor allem, wenn Sie versuchen NEWID() zu verwenden Zufälligkeit zu erreichen (mehr als nur auf der Suche zufällig), bist du in Schwierigkeiten.

Es ist in der Regel weniger als ideale Wahl, weil andere Indizes den gruppierten Indexschlüssel und einen langen gruppierten Indexschlüssel die Performance aller Indizes verschlechtern verweisen wird. Sie könnten eine IDENTITY Integer-Spalte erstellen und machen, dass der Clustered-Index und nur einen nicht gruppierten eindeutigen Index für die uniqueidentifier Spalte erstellen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top