設定したインデックスが、LIKEの前方一致検索時に使用されない。

Sora Yoshizawa/吉澤 空 0 評価のポイント
2025-06-29T15:46:14.9866667+00:00

SQLServer2022を使用してデータベースを作成しています。
レスポンスのため、インデックスを設定し速度改善していますが、一部のクエリのみインデックスが使用されませんでした。

下記の環境、条件で事象が発生します。

・対象テーブルは4,000万件の格納データがある。

・LIKE前方一致検索を行うとレスポンスが悪い。(実行計画でインデックスが使われていないことを確認)

・LIKE前方一致を別の条件(=、BETWEEN、LIKEの%無し)に変更するとインデックスが効く。
・SELECT句の一部の列を除外するとインデックスが効く。(WHERE句は変更せず、また変更
・オプションによりオプティマイザを2016モードにするとインデックスが効く。
・同一DBが、SQLServer2016環境にも存在し、そちらはインデックスが効く。

やりたいことは、インデックスを使用し特定クエリの速度を改善することですが、 現在インデックスが使われない理由(おそらくオプティマイザが原因であること以外)が不明です。
対応方法または原因は特定できますか?

SQL サーバー | その他
SQL サーバー | その他

特定のカテゴリで扱われていない SQL Server の追加機能とトピック

0 件のコメント コメントはありません

お客様の回答

質問作成者は回答に "承認済み"、モデレーターは "推奨" とマークできます。これにより、ユーザーは作成者の問題が回答によって解決したことを把握できます。