Slow Query Logでみるとこ
User@Host: kenjiskywalker[kenjiskywalker] @ localhost []
# Query_time: 0.00011111 Lock_time: 0.000099 Rows_sent: 1 Rows_examined: 300000000000000000000000
SET timestamp=999999999999;
SELECT girl FROM girls_list WHERE name = 'homuhomu'
みたいなスロークエリログがあったとして、
確認すべきところは
Query_time = クエリの処理にかかった時間
Lock_time = ロックされた時間
Rows_sent = クエリにヒットしたレコード数
Rows_examined = 探索対象となったレコード数
で、ロックとかクエリにかかった時間は基本だと思うんですけど、
Rows_examinedがやたら多い場合 (この場合 girls_listテーブルの総レコード数 )
ちょっと注意しなければいけないよっていうところと
log_queries_not_using_indexes=1
とかでインデックスのかかってないテーブルを表示させて
なんとかhistoryとか、なんとかlogとか
こいつ絶対あとあと肥大化するだろうっていうテーブルに対して
インデックスが貼られていないか確認すると
あとあと地雷化するSQLを事前に摘めるので良いです。
って@fujiwaraさんから学びました。