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

Dans SQL Server, dois-je créer un index pour une colonne d'identité, ou est-il créé automatiquement ?

create table test (Id int identity)
go
sp_help test
The object 'test' does not have any indexes, or you do not have permissions.

No constraints are defined on object 'test', or you do not have permissions.

En règle générale, vous créez un index unique sur votre colonne d'identité, cela accélère les recherches.

Généralement, vous souhaitez que vos colonnes d'identité soient également des "index clusterisés" (Id int identity primary key est la notation de raccourci), ce qui signifie que la table est disposée sur le disque dans le même ordre que votre colonne d'identité. Cela optimise les insertions, car la page insérée a tendance à être en mémoire. Dans certains cas, lorsque vous effectuez très fréquemment des recherches étendues sur d'autres données de la table, vous pouvez envisager de regrouper d'autres colonnes à la place, car SQL Server ne vous autorise qu'un seul index clusterisé par table.