「MySQLで遅いSQL(スロークエリ)をログに残すには」
遅いSQLがあるが、どうすれば遅いSQLを検出できるか
回答
MySQLで遅いSQL(スロークエリ)をログに残すには
Windowsの場合はmy.ini、Linuxの場合はmy.cnfに以下設定を行う
[mysqld]
# スロークエリの出力設定 0:OFF 1:ON
slow_query_log=1
# スロークエリと判定する秒数の設定(0を設定すると全SQLが対象)
long_query_time=3
# スロークエリログ保存ファイル名の設定
#Windowsの例
#slow_query_log_file='C:/pleiades/xampp/mysql/logs/slow_query.log'
#Linuxの例
slow_query_log_file ='/usr/local/var/mysql/slow_query.log'
ソース
設定後はMySQLの再起動を行う
CentOS7以降
systemctl restart mysqld
CentOS6以前
service mysqld restart
ログに残すため、パフォーマンスが若干落ちるので注意