5

FORCE SEEK は SELECT クエリのパフォーマンスを改善できると思いますが、FORCE SCAN もクエリのパフォーマンスを改善できるのでしょうか。

誰かが例で説明できますか?

4

1 に答える 1

3

1.000.000行になるクエリがあるが、SQL Serverは100行しかないと推定します。SQLServerは、テーブルルックアップを使用した100個のインデックスシークが全表スキャンよりも高速であると推定します。しかし、代わりに、1.000.000のインデックスシークとルックアップを実行することになります。

その場合、force scanヒントを追加するとクエリのパフォーマンスが向上します。

この状況は異常であることに注意してください。SQL Serverは最悪の場合に最適化を試み、それらの数が多すぎないことがかなり確実でない限り、シークを使用しません。そのため、forceseekより頻繁に使用されますforcescan

于 2012-10-31T10:02:18.257 に答える