下面小編就為大家帶來一篇Mysql慢查詢操作梳理總結。小編覺得蠻不錯的,現在就分享給大家,也給大家做個參考。一起跟著小編過來看看吧
Mysql慢查詢解釋
#MySQL的慢查詢日誌是MySQL提供的一種日誌記錄,它用來記錄在MySQL中回應時間超過閥值的語句,具體指運行時間超過long_query_time值的SQL,則會被記錄到慢查詢日誌中。 long_query_time的預設值為10,意思是執行10S以上的語句。預設情況下,Mysql資料庫並沒有啟動慢查詢日誌,需要我們手動來設定這個參數,當然,如果不是調優需要的話,一般不建議啟動該參數,因為開啟慢查詢日誌會或多或少帶來一定的性能影響。 慢查詢日誌支援將日誌記錄寫入文件,也支援將日誌記錄寫入資料庫表;慢查詢日誌用於記錄一些過慢的查詢語句,可以幫助管理員分析問題所在,該日誌預設是沒有開啟的,需要在設定檔裡加入一系列參數來手動啟動
#開啟Mysql慢查詢的理由
#資料庫是很容易產生瓶頸的地方,現在Nosql大家討論這麼熱,大概都被資料庫搞鬱悶了。 MySQL中最影響速度的就是那些查詢非常慢的語句,這些慢的語句,可能是寫的不夠合理或是大數據下多表的聯合查詢等等,所以我們要找出這些語句,分析原因,加以最佳化。這也是發這篇文章的原因
開啟mysql慢查詢方法
1)方法一、登陸mysql資料庫終端機開啟
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
|
#方法2、修改mysql的設定檔my.cnf
#[root@www ~]# vim /etc/mysql.cnf
在[mysqld]區域配置裡加入下面內容
......
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
|
分析工具
#分析工具其實就是記錄mysql-slow.log裡面的數據,分析一下顯示出來(其實自己寫一個shell腳本也是可以把要的資訊取出來的)。
[root@www ~]# cat mysql-slow.log //檢視指令
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
|
看到了,就是記錄sql語句的執行情況,包括執行時間,鎖定時間等,所以要不要分析工具看個人情況,分析工具很多,在這裡只說一下mysql自帶的慢查詢分析工具mysqldumpslow的使用方法。
[root@www ~]# mysqldumpslow -h
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
|
實例:
##
1 2 |
|
以上是Mysql慢查詢操作的程式碼總結的詳細內容。更多資訊請關注PHP中文網其他相關文章!