0

全文検索を使用すると、LIKE 述語よりも最適化された方法で正確なフレーズ検索を実行できると思いましたが、正確にはそうではないことを読んでいます。

「LIKE」は、テーブル内の何千行もの TEXT フィールドをリテラル文字列で検索する最も効率的な方法ですか?

完全に一致している必要があります...

4

3 に答える 3

1

列に適切なインデックスがあり、値の先頭でのみ「文字列」を探している場合、LIKE(string%) はより高速に動作します。「文字列」が値の途中にある可能性がある場合は、LIKE(%string%) を使用する必要があります。この場合、テーブル スキャンが起動され、低速になります (ほとんどの場合、全文検索よりも低速です)。完全一致の全文検索の CONTAINS() 関数を使用できます。

于 2009-04-08T21:00:46.993 に答える
0

どのバージョンのSQLServerを使用していますか?可能であれば、TEXTをVARCHAR(MAX)に置き換えることをお勧めします(SQL Server 2005以降)。

全文が機能しないとあなたが言う理由は何ですか?フルテキストをどのように設定しましたか?また、フルテキストクエリはどのようになりますか?

マーク

于 2009-04-08T20:36:37.923 に答える
0

どうやら、クエリCONTAINSよりも高速です...LIKE

http://www.docstoc.com/docs/2280727/Microsoft-SQL-Server-70-Full-Text-Search-What-is-full-text-search

(プロファイリングは、そのプレゼンテーションの 19 ページにあります)

于 2009-04-08T20:30:25.037 に答える