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

progettazione di una nuova tabella per i caricamenti giornalieri:utilizzare il vincolo univoco

  1. L'indice univoco può essere non raggruppato.
  2. La chiave primaria è univoca e può essere raggruppata
  3. L'indice cluster non è univoco per impostazione predefinita
  4. L'indice cluster univoco è unico :)

Ulteriori informazioni possono essere ottenute da questa guida .

Quindi, dovremmo separare l'unicità e le chiavi dell'indice. Se è necessario mantenere i dati univoci per alcune colonne, creare un vincolo uniqe (indice univoco). Proteggerai i tuoi dati. Inoltre, puoi creare la chiave primaria (PK) sulle tue colonne:anche loro saranno uniche. Ma c'è una differenza:tutti gli altri indici utilizzeranno PK per fare riferimento, quindi PK deve essere il più breve possibile. Quindi, il mio consiglio:crea la colonna Identity (int o bigint) e crea PK su di essa. Inoltre, crea un indice univoco sulle tue colonne univoche. L'esecuzione di query sui dati potrebbe diventare più veloce, se esegui query sulle colonne univoche, se esegui query su altre colonne, devi creare altri indici specifici.

Quindi, chiavi univoche - per la coerenza dei dati, indici - per le query.