一般的な顧客テーブルがあります。検索フィールドのTSQLインデックス(Idを含める必要があります)
Id Int Identity Primary Key,
FirstName varchar(255),
LastName varchar(255),
Phone VarChar(30)
したがって、プライマリキーはIDにクラスタ化一意インデックスを作成します。
検索を高速化するために、名前フィールドにインデックスを追加します。
私の質問は、これらのインデックスにIDを追加する必要があるかどうか、またはそれらのインデックスがプライマリキーに関連付けられるかどうかです。
たとえば、
Create Index IX_Customer_FirstLastName On Customers(FirstName, LastName, Id)
...それは過剰ですか?
以下は、それほど効率的かどうかですか?
Create Index IX_Customer_FirstLastName On Customers(FirstName, LastName)
TIA
何を検索しますか?常にフル姓/姓、または個別に...または? –
それは本当に一般的な質問の多くです。テーブルの他のインデックスにプライマリキーフィールドを持たせるとどんな利点がありますか? –
一般的に、@MichaelFredricksonの答えはそれをかなりカバーしています。 –