Sql Server Index Naming Conventions [Closed]

Is there some standard way to name indexes for SQL Server? It seems that the primary key index is named PK_ and non-clustered indexes typically start with IX_. Are there any naming conventions beyond that for unique indexes?

I use

PK_ for primary keys

UK_ for unique keys

IX_ for non clustered non unique indexes

UX_ for unique indexes

All of my index name take the form of
<index or key type>_<table name>_<column 1>_<column 2>_<column n>

12

I usually name indexes by the name of the table and the columns they contain:

ix_tablename_col1_col2
3

Is it worth a special prefix for indices associated with foreign keys? I think so, since it reminds me that indices on foreign keys are not created by default, and so it is easier to see if they are missing.

For this, I am using names that match the name of the foreign key:

FK_[table]_[foreign_key_table]

or, where multiple foreign keys exist on the same table

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

I know a old topic but thought I'd throw in my 2cents worth

  • PKC_ Primary Key, Clustered
  • PKNC_ Primary Key, Non Clusterd
  • NCAK_ Non Clustered, Unique
  • CAK_ Clustered, Unique
  • NC_ Non Clustered

Example;

NCAK_AccountHeader_OrganisationID_NextDate

Where NCAK : Non Clustered, Unique, AccountHeader : Table and OrganisationID_NextDate : Columns.

1
Sarah Jenkins

Sarah Jenkins

Senior Technology Editor & AI Specialist

Sarah Jenkins is a veteran tech journalist with over 12 years of experience covering artificial intelligence, mobile innovations, and digital ethics. Her insights have appeared in leading technology publications worldwide.

Share this article
Twitter Facebook Pinterest