これは過去数日間の私の頭の痛みでした。私はLIKE
のパフォーマンスについて知らずにデータベースを作成しました。私が使用したクエリは、その上にわずか約100〜150の記録があったので、私は、クエリをテストし LIKE句のパフォーマンスを改善します
SELECT ....
FROM .... JOINS ....
WHERE tableA.col1 LIKE '%keyword%' OR
tableB.col2 LIKE '%keyword%' OR
tableC.col2 LIKE '%keyword%' OR
.....
が、それは非常に速かった、このようなものです。キーワードが入っている文字列を検索したかったのです。過去数ヶ月の間に、データベースは膨大になり、5万レコードを記録しました。そして、今回は、すでにクエリのパフォーマンスが低いことがあります。それは非常に低かった。
私はどのように改善することができますか?私はすでに企業ですでに使用されているので、データベースを変更することはできません。
ところで、私のテーブルはすべてINNODB
でした。
これは完全なテーブルスキャンです...外部検索エンジンはどうですか? –
このような遅いクエリを避けるために、テーブルレイアウトを変更する必要があるかもしれません。 – Jocelyn
こんにちは@KarolyHorvath。外部の検索エンジンはどういう意味ですか? –