Frage

Ich weiß, dass Primärschlüssel basierend auf Guids nicht die beste Leistung haben (aufgrund der Fragmentierung), aber sie sind global eindeutig und Replikationsszenarien ermöglichen.

Integral Identifikatoren, auf der anderen Seite, hat eine höhere Leistung auf Kosten der Skalierbarkeit.

Aber in welchen Szenarien sollte jemand sequentielle Unique als Primärschlüssel benutzen? Ich denke, dass es den Zweck der GUID schlägt, aber immer noch sehe ich erwähnen, das sequentals von Zeit zu Zeit.

Was ich vermisse hier?

War es hilfreich?

Lösung

Was gemeinhin als eine sequenzielle guids in SQL Server 2005 (erzeugt durch NEWSEQUENTIALID ()) bekannt ist, sind ein Versuch, die Probleme mit normaler guids zu überwinden.

Sie sind noch universell einzigartig, aber auch immer steigend. Dies bedeutet, dass sie für die Replikation verwendet werden können und haben viel bessere Leistung als herkömmliche Einsatz GUIDs.

Der einzige Nachteil ist, dass sie nicht „sicher“ sind, weil es möglich ist, die nächste sequentielle guid zu erraten.

http://msdn.microsoft.com/en-us/library /ms189786.aspx

Andere Tipps

sequenziellen guids ist sichergestellt, dass Sie immer einen Wert größer als der letzte Wert verwendet wird. Für ein indiziertes Feld ist dies wichtig. Anstatt wahllos ganzes Spektrum Einfügen einfügen Sie immer am Ende der letzten „Seite“ von Daten, drastisch reduzierten Seitenteilungen führen, insbesondere in dem Fall, dass Ihre Unique Spalte ist auch Ihr gruppierten Index.

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