2013年1月25日金曜日

MySQLのスロークエリを追う設定


MySQLの遅いクエリ、パフォーマンスがきになって調べるための設定のまとめ








my.cnfに下記設定項目を追加

[mysqld]

# Slow Query log
slow_query_log=1
slow_query_log_file="/logs/mysql_slow.log"
log_queries_not_using_indexes
log_slow_admin_statements
long_query_time=5
min_examined_row_limit=10000
#log_output=TABLE



・long_query_time=5 とするとログが5秒位上のログを記録する。

・min_examined_row_limit=10000 とすると10000以上の行をテーブルから読み込んだクエリを記録する

・log_output=TABLEの行を追加するとDBの slow_logテーブルに保管される。コレは便利かも。


ちなみにTABLEの保存の場合指定したログファイルには書き込まれない模様。どちらかとなるよう。