Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

conception d'un nouveau tableau pour les téléchargements quotidiens – utilisation d'une contrainte unique

  1. L'index unique peut être non clusterisé.
  2. La clé primaire est unique et peut être regroupée
  3. L'index clusterisé n'est pas unique par défaut
  4. L'index clusterisé unique est unique :)

Plus d'informations que vous pouvez obtenir à partir de ce guide .

Donc, nous devrions séparer l'unicité et les clés d'index. Si vous avez besoin de garder des données uniques par une colonne, créez une contrainte uniqe (index unique). Vous protégerez vos données. De plus, vous pouvez créer une clé primaire (PK) sur vos colonnes - elles seront également uniques. Mais, il y a une différence :tous les autres index utiliseront PK pour le référencement, donc PK doit être aussi court que possible. Donc, mon conseil - créez une colonne Identity (int ou bigint) et créez PK dessus. Et créez un index unique sur vos colonnes uniques. L'interrogation des données peut devenir plus rapide si vous effectuez des requêtes sur vos colonnes uniques, si vous effectuez des requêtes sur d'autres colonnes - vous devez créer d'autres index spécifiques.

Ainsi, des clés uniques - pour la cohérence des données, des indexations - pour les requêtes.