Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Gli indici cluster devono essere univoci?

Non hanno essere univoco, ma è sicuramente incoraggiato.
Non ho ancora riscontrato uno scenario in cui volevo creare un elemento della configurazione su una colonna non univoca.

Cosa succede se crei un elemento della configurazione su una colonna non univoca

Questo porta a prestazioni scadenti?

Aggiunta di un univocatore aggiunge sicuramente un sovraccarico nel calcolo e nella memorizzazione.
Se questo sovraccarico sarà evidente dipende da diversi fattori.

  • Quanti dati contiene la tabella.
  • Qual ​​è il tasso di inserimento.
  • Quanto spesso viene utilizzato l'elemento della configurazione in una selezione (quando non esistono indici di copertura, praticamente sempre).

Modifica
come sottolineato da Remus nei commenti, esistono casi d'uso in cui la creazione di un CI non univoco sarebbe una scelta ragionevole. Il fatto che io non abbia incontrato uno di questi scenari mostra semplicemente la mia mancanza di esposizione o competenza (scegli la tua scelta).