1
/etc/my.cnfを編集して,以下のラインを追加します。
log-slow-queries = /var/log/mysql-slow.log long_query_time = 5
2 MYSQLを再起動して,コンフィグファイルを読み込ませる。 3 MYSQLにてコマンドで確認。
==============抜粋================
mysqld
を--log-slow-queries[=file_name]
オプションで起動すると、 実行にlong_query_time
秒より長くかかった SQLコマンドがすべてログファイル に書き込まれます。最初のテーブルロックにかかった時間は実行時間に含まれません。 スロークエリログは、クエリ実行後、すべてのロックが解除された後に書き込 まれます。これは、ステートメントが実行された順序とは異なる場合があります。 ファイル名を指定しなければ、ホストマシンの名前に-slow.log
を付けたものがデフォルト名になります。ファイル名を指定し、パスを指定しない場合、 ファイルはデータディレクトリに作成されます。 スロークエリログは、実行に時間がかかり、最適化の対象となるクエリを見つけるため に使用できます。大きなログでは、これは難しい作業になります。mysqldumpslow
コマンドを使用すれば、ログのクエリサマリを取得できます。--log-long-format
を使用すれば、インデックスを使用しなかったクエリも出力されます。