提案に従って、パフォーマンスを向上させるにはインデックスを最も選択的にする必要があります。一般的なガイドラインとして、テーブルの行の 15% 未満に対して頻繁に照会されるテーブルにインデックスを作成する必要がありますインデックス。
適切な選択性の例 100'000 レコードを含むテーブルで、そのインデックス付き列の 1 つに 88000 の個別の値がある場合、このインデックスの選択性は 88'000 / 10'0000 = 0.88 です。
今、ポイントに来てください。1,80,000 レコードを持つ 1 つのテーブルがあります。検索条件でよく使われるフィールドは、(1) ユーザー名による検索レコードです。フィールド タイプ :-> null 以外、nvarchar(32)。一意のレコードは、Active_date を使用した 627 (2) 検索レコードです。フィールド タイプ:-> DateTime、Null。一意のレコードは 85627 です。(3) Current_state フィールド タイプ :-> Not Null 、nvarchar(32) を使用してレコードを検索します。ユニークな記録は「保留中」と「クローズ済み」の2つだけです。
現在、上記のフィールドはすべて索引付けされています。選択性の面では、(1) と (3) は最も選択的ではありませんが、パフォーマンスを向上させるために何をすべきですか?
前もって感謝します、サム