2009-04-08 6 views
0

フルテキスト検索でLIKE述語よりも最適化されたフレーズ検索を行うことができると思っていましたが、正確に。リテラルフレーズを検索する最良の方法

リテラル文字列のテーブルのTEXTフィールドの何千もの行を検索する最も効果的な方法は "LIKE"ですか?それは完全一致があるはずだ

...どうやら

答えて

0

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

なぜフルテキストが機能しないと言いますか?どのようにフルテキストを設定しましたか?フルテキストクエリはどのように見えますか?あなたが列に適切なインデックスを持っている場合

マルク・

+0

SQL Server Management Studioを使用して全文をセットアップし、自分のテーブルの1つのフィールドに全文索引付きフルテキストカタログを作成しました。 マイクエリ: SELECT TOP 10 serial_no、writer_id、書き込み、assignment_type、subdate、( ' "一度それを取る"' 書き込み)が含まれていwrite_onsite FROMタイトル – Caveatrob

+0

- 問合せが、最初に取ってきたものを返します。 1人の単語の数、次に1回の単語。私はちょうどリテラルフレーズを "一度それを取る" – Caveatrob

+0

まだ明確ではない:どのバージョンのSQL Server? –

1

LIKE(文字列%)がより速く動作しますし、あなただけの値の先頭に「文字列」を探しています。文字列が値の真ん中にある場合は、LIKE(%string%)を使用する必要があります。この場合、テーブルスキャンが実行され、速度が遅くなります(ほとんど全文検索よりも遅い)。 フルテキスト検索のCONTAINS()関数を使用して正確に一致させることができます。

関連する問題