全文検索を使用すると、LIKE 述語よりも最適化された方法で正確なフレーズ検索を実行できると思いましたが、正確にはそうではないことを読んでいます。
「LIKE」は、テーブル内の何千行もの TEXT フィールドをリテラル文字列で検索する最も効率的な方法ですか?
完全に一致している必要があります...
全文検索を使用すると、LIKE 述語よりも最適化された方法で正確なフレーズ検索を実行できると思いましたが、正確にはそうではないことを読んでいます。
「LIKE」は、テーブル内の何千行もの TEXT フィールドをリテラル文字列で検索する最も効率的な方法ですか?
完全に一致している必要があります...
列に適切なインデックスがあり、値の先頭でのみ「文字列」を探している場合、LIKE(string%) はより高速に動作します。「文字列」が値の途中にある可能性がある場合は、LIKE(%string%) を使用する必要があります。この場合、テーブル スキャンが起動され、低速になります (ほとんどの場合、全文検索よりも低速です)。完全一致の全文検索の CONTAINS() 関数を使用できます。
どのバージョンのSQLServerを使用していますか?可能であれば、TEXTをVARCHAR(MAX)に置き換えることをお勧めします(SQL Server 2005以降)。
全文が機能しないとあなたが言う理由は何ですか?フルテキストをどのように設定しましたか?また、フルテキストクエリはどのようになりますか?
マーク
どうやら、クエリCONTAINS
よりも高速です...LIKE
(プロファイリングは、そのプレゼンテーションの 19 ページにあります)