私はそれが次のシナリオでは二つの別々のインデックスを持っていることは理にかなっている場合を理解しようとしています:私なら、私が持っているインデックス、1列の共通
ColumnA, ColumnB, ColumnC
は
1. where ColumnA = xxx and columnB = xxx
2. where ColumnA = xxx and ColumnC = xxx
を問い合わせますColumnA
にある1つのインデックスのみを作成すると、両方のクエリに役立ちますか?または、ColumnA
+ ColumnB
に2つのインデックスIndex1を作成し、ColumnA
+ ColumnC
にIndex2を作成します。
2つのインデックスの方が優れていますが、インデックスの数を少なくすることをお勧めします。テーブルがかなり大きいので、columnA
はかなりユニークです。 ColumnA
は、特定のエンティティのデータをフィルタリングし、そのエンティティはそのデータのみを常に掘り下げることができます。
また、ColumnA
+ ColumnB
にインデックスがあり、ColumnB
が最初でColumnAが2番目のクエリがある場合は、このインデックスを使用しますか?
"ColumnAに1つのインデックスしか作成していない場合は、両方のクエリで役立ちますか?" * ColumnBで1つのインデックスを作成する必要があるかどうか尋ねることを意味しますか?クエリには、ColumnAではなくColumnBが共通しています。 – Schwern
申し訳ありませんが、私はミスタイプだと思います。 ColumnAは一般的です。 –