sql >> Base de Datos >  >> RDS >> Sqlserver

En SQL Server, ¿debo crear un índice para una columna de identidad o se crea automáticamente?

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.

Como práctica general, crearía un índice único en su columna de identidad, esto acelera las búsquedas.

Por lo general, le gustaría que sus columnas de identidad también fueran 'índices agrupados' (Id int identity primary key es la notación abreviada), lo que significa que la tabla se presenta en el disco en el mismo orden que su columna de identidad. Esto se optimiza para las inserciones, ya que la página que se inserta tiende a estar en la memoria. En algunos casos, cuando realiza búsquedas de rango con mucha frecuencia en otros datos de la tabla, puede considerar agrupar otras columnas, ya que SQL Server solo le permite un índice agrupado por tabla.