200 万行を超えるテーブルがあり、それに対するすべてのクエリは と を使用した Between ルックアップにColumn1
なりColumn2
ます。また、可能な結果は 1 つだけです。例えば...
Col1 Col2
1 5
6 10
11 15
select * from table1 where 8 between Col1 and Col2
現在、 と に一意のクラスター化インデックスがCol1
ありCol2
ます。これまでのところ、クエリとインデックスをさらに調整して、処理される行を最小限に抑える方法を理解できていません。実行計画は現在、唯一の正解を見つけるときに処理される約 0.5 行と 113,000 行のコストを報告しています。
見落としている可能性のあるオプションは何ですか?
リクエストに応じて、現在の実行計画の詳細:
Operation
Clustered Index Seek
Predicate
CONVERT_IMPLICIT(bigint,[@2],0)<=[Col2]
Seek Predicate
Seek Keys[1]: End: Col1 <= Scalar Operator(CONVERT_IMPLICIT(bigint,[@1],0))