この mysql クエリは、大きな (約 200,000 レコード、41 列) myisam テーブルで実行されます。
t1 から t1.* を選択します。table
ここで、1 と t1. inactive
= '0' および (t1. code
like '%searchtext%' または t1. name
like '%searchtext%' または t1. ext
like '%searchtext%' ) t1 で並べ替えます。id
desc LIMIT 0、15
id はプライマリ インデックスです。
3 つの検索済み (類似) 列すべてに複数列インデックスを追加してみました。正常に動作しますが、結果は Web サイトの自動入力された ajax テーブルで提供され、2 秒の戻り遅延は少し遅すぎます。
また、3 つの列すべてに個別のインデックスを追加し、3 つの列すべてにフルテキスト インデックスを追加しようとしましたが、大幅な改善はありませんでした。
このタイプのクエリを最適化する最良の方法は何ですか? 1 秒未満のパフォーマンスを実現したいのですが、可能ですか?