UUIDs (Universally Unique IDentifiers), auch bekannt als GUIDs (Globally Unique IDentifiers), können zur eindeutigen Kennzeichnung von Zeilen in einer Tabelle verwendet werden. Die Werte werden auf eine Weise generiert, dass ein auf einem bestimmten Computer produzierter Wert nicht dem Wert eines anderen Computers entspricht. Sie können deshalb als Schlüssel in Replikations- und Synchronisationsumgebungen verwendet werden.
Im Vergleich zur Verwendung von GLOBAL AUTOINCREMENT-Werten als Primärschlüssel, bergen die UUID-Werte gewisse Vor- und Nachteile. Zum Beispiel:
UUIDs können einfacher eingerichtet werden als GLOBAL AUTOINCREMENT-Werte, da es nicht notwendig ist, jeder entfernten Datenbank eine eindeutige Datenbank-ID zuzuweisen. Zusätzlich kann die Anzahl der Datenbanken im System oder die Anzahl der Zeilen in den einzelnen Tabellen außer Acht gelassen werden. Das Extraktionsdienstprogramm (dbxtract) kann zur Zuweisung der Datenbank-ID verwendet werden. Davon ist GLOBAL AUTOINCREMENT normalerweise nicht betroffen, wenn der Datentyp BIGINT verwendet wird, muss aber für kleinere Datentypen in Betracht gezogen werden.
UUID-Werte sind bedeutend länger als die, die für GLOBAL AUTOINCREMENT benötigt werden, und erfordern mehr Tabellenspeicherplatz in den Primär- und Fremdtabellen. Wenn UUIDs verwendet werden, sind auch die Indizes für diese Tabellen weniger effizient. Zusammenfassend betrachtet ist die Ausführung von GLOBAL AUTOINCREMENT möglicherweise besser.
UUIDs haben keine implizite Sortierung. Wenn beispielsweise A und B UUID-Werte sind, bedeutet A > B nicht, dass A nach B generiert wurde, selbst wenn A und B auf dem selben Computer generiert wurden. Wenn Sie dieses Verhalten benötigen, könnten eine zusätzliche Spalte und ein Index notwendig sein.
Kommentieren Sie diese Seite in DocCommentXchange. Senden Sie uns Feedback über diese Seite via E-Mail. |
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |