テーブルで 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 秒です。正確なフレーズ検索はそれほど高価ですか?
ここで何か不足していますか?