SQL プロファイラーを有効にして、実行に時間がかかるいくつかのクエリを特定しました。
例えば:
Select A from table_A where B = 2
私の質問は、上記のクエリに基づいて、列 A または B にインデックスを作成しますか? それともAとB?
SQL プロファイラーを有効にして、実行に時間がかかるいくつかのクエリを特定しました。
例えば:
Select A from table_A where B = 2
私の質問は、上記のクエリに基づいて、列 A または B にインデックスを作成しますか? それともAとB?
それがあなたの状態にあるので、あなたのインデックスはBにあるはずです。すべての方法を試して、結果の実行計画を確認するだけでもメリットがある場合があります。
B と A に個別のインデックスを作成します。A にインデックスを作成するのは、KEY LOOKUP を避けるためです。
B
列を含むインデックスA
。B
where は、 を返しながらseek を使用できますA
。
列 B にインデックスを作成します。これは、SQL サーバーが比較を行っているためです。その後、プロファイラーを再度実行して、インデックスの追加が他のクエリに悪影響を与えるかどうかを確認します。