Domanda

Ho letto qui le varie domande / risposte che indicano sostanzialmente che avere un indice cluster su una colonna uniqueidentifier è una scelta sbagliata per motivi di prestazioni. Indipendentemente da ciò, ho bisogno di usare un identificativo univoco come chiave primaria e NON voglio usare newsequentialid () perché i valori generati sono troppo simili tra loro (ho bisogno di più ID casuali in modo che gli utenti non possano [ragionevolmente] "indovinare" un altro ID).

Quindi, qual è il modo migliore per indicizzare questo PK? Anche se un indice cluster su questa colonna non è l'ideale, è meglio di un "unico, non cluster" index?

Sto usando SQL Server 2005.

È stato utile?

Soluzione

Prima di tutto, se stai cercando di usare NEWID () per ottenere casualità (più che un semplice aspetto casuale), sei nei guai.

Di solito è meno della scelta ideale perché altri indici faranno riferimento alla chiave di indice cluster e una chiave di indice cluster lunga degraderà le prestazioni di tutti gli indici. È possibile creare una colonna intera IDENTITY e creare l'indice cluster e creare un indice univoco non cluster nella colonna uniqueidentifier .

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