ワークフローという名前のテーブルがあります。それには37Mの行があります。 ID列(int)にはプライマリキーと追加の列があります。 ID列は索引の最初の列です。クエリで特定のインデックスが使用されないのはなぜですか?
私は次のクエリを実行する場合(Iインデックスヒントを使用しない限り)、PKを使用しない
Select Distinct(SubID) From Workflow Where ID >= @LastSeenWorkflowID
Iの代わりにこのクエリを実行すると、PKは
Select Distinct(SubID) From Workflow Where ID >= 786400000
使用されるIクエリでパラメータ値を使用することで問題が発生していると思われます(これを行う必要があります)。私は本当にインデックスヒントを使いたくありません。このための回避策はありますか?あなたのPKを想定し
どのSQL Serverのバージョン? –
これはノンクラスタード・インデックスですか?クラスタード・インデックスはありますか? – JNK
@JNK - SQL Server 2008とPKはクラスタ化インデックスです –