Siamo in procinto di passare dal generatore di guida casuale C# Guid.NewGuid() all'algoritmo di guida sequenziale suggerito in this post. Mentre questo sembra funzionare bene per MS SQL Server, non sono sicuro delle implicazioni per i database Oracle, in cui archiviamo i guids in un campo raw (16). Qualcuno ha qualche idea se questo algoritmo sarebbe buono per la creazione di guid sequenziali per Oracle e per MS SQL Server, o se dovrebbe essere utilizzata una variante diversa.GUID sequenziali (comb) per Oracle
Grazie!
Grazie per la risposta. Tuttavia, quello che cerco non è se raw sia un buon tipo di dati per i GUID in Oracle, ma piuttosto se l'algoritmo in questione causerà un'inutile frammentazione dell'indice in Oracle, anche se sembra essere una buona scelta per MS SQL Server. Inoltre, ho bisogno di generare i miei guids sul client, quindi la funzione SYS_GUID sarà di scarso aiuto. – Eyvind
Che cos'è esattamente la frammentazione dell'indice inutile? Ovviamente i GUID saranno distribuiti (frammentati) attraverso l'intera stanza dei dati possibili. Ecco a cosa serve GUID. La frammentazione dei dati è una proprietà intrinseca dell'algoritmo GUID, che il database deve gestire, indipendentemente dal fatto che sia sql-server o oracle. L'implementazione dell'indice può gestirlo, vedi -> http://en.wikipedia.org/wiki/B-tree –
L'idea è di usare un algoritmo che genera * sequenziali * guids, invece della versione standardizzata randomizzata. – Eyvind