顯示廣告
隱藏 ✕
看板 Knuckles_note
作者 Knuckles
標題 [MySQL] log-slow-queries 記錄與分析花時間的指令
時間 2012年10月29日 Mon. AM 04:37:55



$ vim /etc/my.cnf

在 [mysqld] 的下面加上

slow_query_log
slow_query_log_file = /var/log/mysql/slow-queries.log
long_query_time = 5
log-queries-not-using-indexes=1

手動建立記錄檔

$ mkdir /var/log/mysql
$ touch /var/log/mysql/slow-queries.log
$ chown mysql.mysql /var/log/mysql -R


http://dog.99dac.com/wordpress/?p=276
● 將記錄檔轉為方便閱讀的格式

mysqldumpslow /var/log/mysql/slow-queries.log > /var/log/mysql/slow.log

Count: 9  Time=0.29s (2s)  Lock=0.00s (0s)  Rows=1.0 (9), cyberlar[cyberlar]@localhost
SELECT post_modified_gmt FROM wp_posts WHERE post_status = ‘S’ ORDER BY post_modified_gmt DESC LIMIT N

其中 Count: 9 代表這段語法在這段期間共被執行了 9 次。
Time = 0.29s (2s) 代表平均每次執行 0.29 秒,這九次共花費了2秒的時間。
Lock = 0.00 代表語法在執行時將 table lock 起來不讓別的 query 使用的時間。
Rows=1.0 代表這語法平均每次執行後所輸出的資料筆數。
接下來的就是 SQL 語法了。 mysqldumpslow 會將字串以 S 代替,數字以 N 代替。

● 調整參數最常用的方式是更改my.cnf(通常在/etc下)
但是要重新啟動MYSQL才會有效,如果是執行中而且不能restart ,那就只能用set指令:
set global 參數=值 (不能用文字 1M = 1*1024*1024)

--
※ 作者: Knuckles 時間: 2012-10-29 04:37:55

※ 編輯: Knuckles 時間: 2012-12-01 05:59:11
※ 看板: KnucklesNote 文章推薦值: 0 目前人氣: 0 累積人氣: 740 
e)編輯 d)刪除 ^x)轉錄 同主題: =)首篇 [)上篇 ])下篇