Wir sind dabei, vom C Guid.NewGuid() Random-ish-Guid-Generator zum sequentiellen Guid-Algorithmus zu wechseln, der in this post vorgeschlagen wird. Während dies für MS SQL Server gut zu funktionieren scheint, bin ich unsicher bezüglich der Implikationen für Oracle Datenbanken, in denen wir Guids in einem rohen (16) Feld speichern. Hat jemand einen Einblick, ob dieser Algorithmus gut für die Erstellung von sequentiellen Guids für Oracle sowie für MS SQL Server geeignet ist oder ob eine andere Variante verwendet werden soll.Sequenzielle (Kamm) GUIDs für Oracle
Danke!
Vielen Dank für Ihre Antwort. Was ich jedoch nicht möchte, ist, ob raw ein guter Datentyp für GUIDs in Oracle ist, sondern eher, ob der fragliche Algorithmus eine unnötige Indexfragmentierung in Oracle verursacht, obwohl dies eine gute Wahl für MS SQL Server zu sein scheint. Außerdem muss ich meine Guides auf dem Client generieren, daher wird die SYS_GUID-Funktion wenig hilfreich sein. – Eyvind
Was genau ist eine unnötige Indexfragmentierung? Natürlich werden die GUIDs durch den gesamten Raum möglicher Daten verteilt (fragmentiert). Dafür ist GUID da. Die Fragmentierung der Daten ist eine inhärente Eigenschaft des GUID-Algorithmus, den die Datenbank zu bewältigen hat, egal ob es sich um SQL-Server oder Oracle handelt. Die Indeximplementierung kann damit umgehen, siehe -> http://en.wikipedia.org/wiki/B-tree –
Die Idee ist, einen Algorithmus zu verwenden, der * sequentielle * Guids erzeugt, anstatt der standardisierten randomisierten Version. – Eyvind