1

SQL プロファイラーを有効にして、実行に時間がかかるいくつかのクエリを特定しました。

例えば:

Select A from table_A where B = 2

私の質問は、上記のクエリに基づいて、列 A または B にインデックスを作成しますか? それともAとB?

4

4 に答える 4

1

それがあなたの状態にあるので、あなたのインデックスはBにあるはずです。すべての方法を試して、結果の実行計画を確認するだけでもメリットがある場合があります。

于 2012-08-15T20:46:05.493 に答える
0

B と A に個別のインデックスを作成します。A にインデックスを作成するのは、KEY LOOKUP を避けるためです。

于 2012-08-16T03:48:23.630 に答える
0

B列を含むインデックスABwhere は、 を返しながらseek を使用できますA

于 2012-08-15T20:56:44.787 に答える
0

列 B にインデックスを作成します。これは、SQL サーバーが比較を行っているためです。その後、プロファイラーを再度実行して、インデックスの追加が他のクエリに悪影響を与えるかどうかを確認します。

于 2012-08-15T20:46:14.747 に答える