3

テーブルで InnoDB 全文検索を使用しています。400.000 のダミー レポートを作成し、全文を作成しました。単語検索の速さは抜群です。

SELECT count(*) from report where MATCH (reporttext) AGAINST ('dolor' IN BOOLEAN MODE) LIMIT 0, 1000
1 row(s) returned   0.717 sec / 0.000 sec

count(*)
199629

クエリの説明を行うとき:

id  select_type table   type    possible_keys   key key_len ref rows    Extra
1   SIMPLE  report  fulltext    FTReportText    FTReportText    0   NULL    1   "Using where"

これまでのところ、次のクエリを実行すると、次のようになります。

SELECT count(*) from report where MATCH (reporttext) AGAINST ('"porttitor vulputate"' IN BOOLEAN MODE) LIMIT 0, 1000    1 row(s) returned
50.732 sec / 0.000 sec

count(*)
22947

説明 :

id  select_type table   type    possible_keys   key key_len ref rows    Extra
 1  SIMPLE  report  fulltext    FTReportText    FTReportText    0   NULL    1   "Using where"

2 番目のクエリでわかるように、時間は約 50 秒です。正確なフレーズ検索はそれほど高価ですか?

ここで何か不足していますか?

4

1 に答える 1