0

次のクエリを取得しました

SELECT * FROM myDB.dbo.myTable 
WHERE name = 'Stockholm'

また

SELECT * FROM myDB.dbo.myTable 
WHERE name LIKE('Stockholm')

使用時に取得されるフルテキスト インデックスを作成しましたCONTAINS(name,'Stockholm')が、上記の 2 つのケースでは、クラスター化されたインデックス スキャンのみが実行されます。これは、1 秒を超える速度を遅くする方法です。と同じくらい高速な完全一致を検索したいだけなので、少し混乱してCONTAINS()いますね。LIKE検索する単語の先頭にワイルドカードを使用しない場合は、少なくともインデックスシークを使用する必要があることを読みました。前もって感謝します

4

2 に答える 2

3

名前列にインデックスがないに違いありません。フルテキスト インデックスはデータベース インデックスではないため、CONTAINS などのフルテキスト述語を使用しない限り、使用されません。

于 2013-11-11T10:42:48.133 に答える