Abbiamo un database con oltre 500 tabelle, in cui quasi tutte le tabelle hanno un PK cluster che è di tipo di dati guid (uniqueidentifier).Passare ai contenitori sequenziali (a pettine): per quanto riguarda i dati esistenti?
Stiamo testando un passaggio da "normali" guidi "casuali" generati tramite il metodo Guid.NewGuid() di .NET ai GUID sequenziali generati tramite NHibernate guid.comb algorithm. Questo sembra funzionare bene, ma per quanto riguarda i client che hanno già milioni di righe con valori di chiavi primarie "casuali"?
- Trarranno beneficio dal fatto che i nuovi ID generati da ora in poi saranno sequenziali?
- Potrebbe/dovrebbe essere fatto qualcosa ai dati esistenti?
Grazie in anticipo per eventuali suggerimenti su questo.
L'utilizzo di un GUID come chiave primaria presenta molti vantaggi, non è decisamente "sconsigliato". L'utilizzo come chiave cluster non è consigliato, in quanto può portare a una frammentazione errata e utilizza molto spazio in ogni indice non cluster correlato. – Nik