2007-08-29 SQLの最適化 MySQL スロークエリログ まずどのようなクエリがボトルネックになっているのかを調べる 一定時間以上かかったクエリを記録するスロークエリログ機能を設定する [mysqld] log_slow_queries=slow.log long_query_time=1 # long_queries_not_using_indexes <= indexを使用していないクエリを記録するオプション(開発時などに) EXPLAIN構文 SQLチューニングの基本である、indexが適切に使われているかを確認する mysql> EXPLAIN <対象SQL> 出力される情報で「type: ALL」の場合、indexが設定されておらず全てを検査している indexを作成する mysql> ALTER TABLE ${テーブル名} ADD INDEX(カラム名); 再度EXPLAINを実行、「type: ref」になればOK!