ユーザ用ツール

サイト用ツール


02_freebsd:04_database:01_mysql:slow_log

差分

この文書の現在のバージョンと選択したバージョンの差分を表示します。

この比較画面にリンクする

両方とも前のリビジョン 前のリビジョン
02_freebsd:04_database:01_mysql:slow_log [2016/10/14 17:15]
matsui
02_freebsd:04_database:01_mysql:slow_log [2016/10/14 17:23] (現在)
matsui
ライン 1: ライン 1:
 +====== MySQL - slow log ======
  
 +  $vi my.cnfで以下を記述
 +  ​
 +  long_query_time=3
 +  log-slow-queries=/​var/​log/​slow.log
 +
 +これにより3秒以上処理に時間のかかるクエリの特定が可能(long_query_timeで指定)なのでそのクエリを見直す。
 +
 +
 +これで動いてるプロセスを見ることもできる。
 +<code console>
 +mysql > show full processlist;​
 +mysql> SHOW PROCESSLIST;​
 +mysql> SHOW FULL PROCESSLIST;​
 +</​code>​
 +
 +以下がイコールなので、下だとwhereが使える
 +<code console>
 +mysql> SELECT * FROM information_schema.PROCESSLIST where COMMAND='​Query';​
 +</​code>​
 +
 +
 +====== オンラインで変更 ======
 +
 +===== 5.0 =====
 +<​code>​
 +mysql> set global log-slow-queries = '/​tmp/​mysql-slow.log';​
 +mysql> set global long_query_time = 1;
 +mysql> set global log_queries_not_using_indexes=0;​
 +</​code>​
 +
 +long_query_timeで設定した時間よりも短い結果で返ってくるクエリが保存されていた
 +原因はlog_queries_not_using_indexesがONになっていた。
 +これがONになっているとインデックスを使っていないクエリが保存される
 +
 +
 +===== 5.1以降 =====
 +
 +<​code>​
 +mysql> set global slow_query_log_file = '/​tmp/​mysql-slow.log';​
 +mysql> set global long_query_time = 5;
 +mysql> set global slow_query_log = ON;
 +</​code>​
 +{{tag>​mysql}}
02_freebsd/04_database/01_mysql/slow_log.txt · 最終更新: 2016/10/14 17:23 by matsui

Yesterday:760 Today:047 Total:03617