MySQLパフォーマンスチューニング
その1 ボトルネックをみつける。
Explainにを読んでどこに時間がかかっているか確認する。
対象SQLのJOINを一つずつ外してみる。
その2 インデックスの検討。
正しいインデックを使っているか。
複合インデックスを使う。
余計なインデックスを外す
その3 SQLの改善。
サブクエリ、相関サブクエリをJOIN句に書き換える。
LEFT JOINをExists文に書き換える。
UNIONに書き換える。
UNIONを外す。
その4 テーブルIOの改善。
バルクインサートを使う。
ファイルに書き出してからloadコマンドで取り込む。
メモリテーブルに変更する。
その5 ロジックの検討。
ぐるぐる系をどかん系に変更する。
ワークテーブルを使う。
その6 ハードの改善
メモリを増やす。
性能の良いハードディスクに替える。