タイプのテキストベースの列を持つテーブルがあり、nvarchar(450)
その列の非クラスター化インデックスを作成しました。
CREATE NONCLUSTERED INDEX [myindexname] ON [myschema].[mytable]
(
[mycolumn] ASC
)
私の問題は、次のようなクエリを実行するときに発生します。
select
....
where
....
mycolumn like '%something%'
最初の % なしでクエリを実行すると、インデックスは非常に高速に動作しますが、最初の % を使用すると、かなりの時間がかかります。
インデックスの基本では、where 句に最初の % を使用しないことを推奨していることは知っていますが、クエリからそれを削除することはできません。インデックスを改善するオプションがあるかどうか疑問に思っていました (現在、クエリを変更することはできません)。
注: 説明計画は、インデックスへの正しいアクセスを示しています。