- WHEREステートメントとON条件にあるフィールドにインデックスがあることを確認してください。主キーはデフォルトでインデックスが付けられますが、必要に応じて手動でインデックスを作成することもできます。
-
すべてのテーブルのすべての列を本当に選択する必要があるかどうかを確認しますか?そうでない場合は、必要な列のみを選択するようにしてください。 select *の使用は避けてください。
-
左結合が本当に必要かどうかを再確認し、必要でない場合は、内部結合を使用します。
-
クエリの調整を行った後もパフォーマンスが問題になる場合は、スキーマを非正規化して結合を排除することを検討してください
-
sphinxsearchやmemcachedなどのキャッシングアプリケーションを使用して、データベースの負荷を軽減することも検討してください。
-
実際のテーブルではなくビューへの結合がないことを確認してください
参照:
http://dev.mysql.com/doc/refman /5.0/en/create-index.html