フルテキスト検索が遅く困っています。
SQLSERVER+PHPで開発を行っています。
検索数は約6億件で、フルテキストインデックスを利用しています。
自分なりの対策として、
取得レコード数を上位1000件などにして、極力最後のレコードまで検索しないようにしています。
ただ、上位レコードに該当数の多い文字列の検索は途中で検索を停止するのであまり問題ないとしても、
該当数がない検索などをすると10秒以上掛かっています。
この方法だとX件中Y件という表示はできません。
他のサイトを見ていると、高速に検索できていますし、X件中Y件という表示がされているので、
最後まで検索しているのではないかと思います。
サーバーを見ていると、CPU使用率10%程度で変わらず、メモリは200GBほど搭載で160GBで固定されたまま、SSDも応答時間1ミリ秒程度で読み込み20MB程度です。
ライブ統計クエリも確認したのですが、だらだらと最後まで1件づつ検索し続けでいる感じでした。
他のWEBサイトなどを見ていると、断然高速に検索されているように見えます。(X件中Y件もある)
根本的に間違っているのかわかりませんが、アドバイスいただければと思います。
SQLは色々試していますが変わらずです。
select TOP 1000 * from table WITH (NOLOCK) where CONTAINS(col,天気) AND CONTAINS(TITLE,晴れ) ORDER BY AUTO_ID ASC
select TOP 1000 * from table WITH (NOLOCK) where CONTAINS(col,天気 AND 晴れ) ORDER BY AUTO_ID ASC

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。