nonclustered indice index create crear como clustered sql-server naming-conventions indexing

indice - Convenciones de nomenclatura del índice de SQL Server



sql server add nonclustered index (4)

¿Hay alguna forma estándar de nombrar índices para SQL Server? Parece que el índice de clave principal se llama PK_ y los índices no agrupados generalmente comienzan con IX_. ¿Hay alguna convención de nombres más allá de eso para índices únicos?


¿Vale la pena un prefijo especial para los índices asociados con claves externas? Creo que sí, ya que me recuerda que los índices de claves externas no se crean por defecto, por lo que es más fácil ver si faltan.

Para esto, estoy usando nombres que coinciden con el nombre de la clave externa:

FK_[table]_[foreign_key_table]

o, donde existen varias claves externas en la misma tabla

FK_[table]_[foreign_key_table]_[foreign_key_field]


Conozco un viejo tema, pero pensé que arrojaría mi valor de 2cents

  • PKC_ Clave principal, agrupada
  • PKNC_ Clave principal, sin clúster
  • NCAK_ no agrupado, único
  • CAK_ Clustered, Unique
  • NC_ no ​​agrupado

Ejemplo;

NCAK_AccountHeader_OrganisationID_NextDate

Donde NCAK: No Agrupado, Único, AccountHeader: Table and OrganisationID_NextDate: Columns.


Usualmente nombre los índices por el nombre de la tabla y las columnas que contienen:

ix_tablename_col1_col2


yo suelo

PK_ para claves primarias

UK_ para llaves únicas

IX_ para índices no únicos no agrupados

UX_ para índices únicos

Todo mi nombre de índice toma la forma de
<index or key type>_<table name>_<column 1>_<column 2>_<column n>