Domanda

So che le chiavi primarie basate su Guide non hanno le migliori prestazioni (a causa della frammentazione), ma sono univoche a livello globale e consentono scenari di replica.

Gli identificatori integrali, dall'altro lato, offrono prestazioni migliori a scapito della scalabilità.

Ma in quali scenari qualcuno vorrebbe usare l'identificatore univoco sequenziale come chiave primaria? Penso che superi lo scopo di GUID, ma vedo ancora menzionare i sequenziali di tanto in tanto.

Cosa mi manca qui?

È stato utile?

Soluzione

Ciò che è comunemente noto come guide sequenziali in SQL Server 2005 (generato da NEWSEQUENTIALID ()) è un tentativo di superare i problemi con le normali guide.

Loro sono ancora universalmente unici ma anche sempre in ascensione. Ciò significa che possono essere utilizzati per la replica e hanno prestazioni di inserimento molto migliori rispetto ai GUID tradizionali.

L'unico inconveniente è che non sono "sicuri". perché è possibile indovinare la prossima guida sequenziale.

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

Altri suggerimenti

L'uso delle guide sequenziali ti assicura di utilizzare sempre un valore maggiore dell'ultimo valore. Per un campo indicizzato questo è importante. Invece di inserire casualmente in tutto lo spettro, stai sempre inserendo alla fine dell'ultima "pagina" di dati, con conseguente riduzione drastica della divisione delle pagine, soprattutto nel caso in cui la colonna uniqueidentifier sia anche il tuo indice cluster.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top