mysql慢查詢日志

mysql慢查詢日志

1.慢查詢日志

    主要用來發(fā)現mysql語句執(zhí)行慢的語句  
建議需要檢查的時候開啟  

2.查看配置

//查看慢查詢時間
show variables like "long_query_time";//默認10s
//查看慢查詢配置情況
show status
//查看慢查詢日志路徑
show variables like "%slow%";  

3.臨時開啟慢查詢日志

set global slow_query_log=on;  
檢查是否開啟    
show variables like '%slow%';    
slow_query_log  | ON |  
在mysql的data目錄下出現slow.log日志文件  
ps:mysql 重新啟動后自動關閉  

4.通過sql語句檢查

select sleep(10);  
在slow.log日志中出現。  

5.關閉慢查詢日志

set global slow_query_log=off;  
或者重新啟動mysql  

6.永久開啟慢查詢

//記錄查詢慢的sql語句  
log-slow-queries = E:/mysqllog/slow.log  
//慢查詢時間  
long_query_time=0.5

7.查看慢查詢日志的工具

mysqlsla  
簡單實用:  
     Slow log: mysqlsla -lt slow slow.log  


mysqlsla常用參數說明:

1) -log-type (-lt) type logs:
通過這個參數來制定log的類型,主要有slow, general, binary, msl, udl,分析slow log時通過制定為slow.

2) -sort:
制定使用什么參數來對分析結果進行排序,默認是按照t_sum來進行排序。
t_sum:按總時間排序
c_sum:按總次數排序
c_sum_p: sql語句執(zhí)行次數占總執(zhí)行次數的百分比。

3) -top:
顯示sql的數量,默認是10,表示按規(guī)則取排序的前多少條

4) –statement-filter (-sf) [+-][TYPE]:
過濾sql語句的類型,比如select、update、drop.
[TYPE]有SELECT, CREATE, DROP, UPDATE, INSERT,例如"+SELECT,INSERT",不出現的默認是-,即不包括。

5) db:要處理哪個庫的日志


選項說明:  


總查詢次數 (queries total), 去重后的sql數量 (unique)
輸出報表的內容排序(sorted by)
最重大的慢sql統計信息, 包括 平均執(zhí)行時間, 等待鎖時間, 結果行的總數, 掃描的行總數.
Count, sql的執(zhí)行次數及占總的slow log數量的百分比.
Time, 執(zhí)行時間, 包括總時間, 平均時間, 最小, 最大時間, 時間占到總慢sql時間的百分比.
95% of Time, 去除最快和最慢的sql, 覆蓋率占95%的sql的執(zhí)行時間.
Lock Time, 等待鎖的時間.
95% of Lock , 95%的慢sql等待鎖時間.
Rows sent, 結果行統計數量, 包括平均, 最小, 最大數量.
Rows examined, 掃描的行數量.
Database, 屬于哪個數據庫
Users, 哪個用戶,IP, 占到所有用戶執(zhí)行的sql百分比
Query abstract, 抽象后的sql語句
Query sample, sql語句
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容