mysql優化sql,針對慢sql語句的查詢及相關配置。
相關命令:
#顯示慢查詢sql語句數量
show
global
status
like
'%slow_queries%'
;#檢視是否開啟慢查詢日誌,並顯示日誌存放位置
show variables like
'%slow_query_log%'
;#sql執行時間超過mysql變數long_query_time時則被記錄為慢sql(記錄到日誌中)。
show
global variables like
'%long_query_time%'
;
需要永久開啟慢sql查詢日誌,需要在my.ini
(或my.cnf
等)配置檔案中的[mysqld]
下新增相關配置:
#輸出形式為檔案
log-output=
file
#1: 開啟 | 0:不開啟
slow-query-log=
0#慢sql日誌存放路徑
slow_query_log_file=
"desktop-hiogk6k-slow.log"
#慢sql語句統計時間(超過該閾值則記錄中慢sql日誌中)
long_query_time=
10
配置完畢後需要重啟mysql服務。
mysql還提供了日誌分析工具:mysqldumpslow
語法格式為:
mysqldumpslow[opts…] [logs…]簡單相關示例
#得到返回記錄集最多的15個sql
mysqldumpslow -s r -t 15
[要查詢的日誌檔案路徑]
#得到訪問次數最多的15個sql
mysqldumpslow -s c -t 15
[要查詢的日誌檔案路徑]
#得到按照時間排序的前20條裡面含有左連線的查詢語句
mysqldumpslow -s t -t 20
-g "left join"
[要查詢的日誌檔案路徑]
mysql慢查詢日誌相關操作
查詢是否開啟mysql慢查詢日誌 檢視是否記錄無索引的sql 將沒有索引的sql記錄到日誌表 set global log queries not using indexes on 查詢多長時間的sql會記錄日誌 我這裡是10秒 查詢慢查詢日誌儲存位置 設定日誌儲存路徑 set global slo...
mysql查詢慢日誌與相關運用!
慢查詢日誌概念 mysql的慢查詢日誌是mysql提供的一種日誌記錄,它用來記錄在mysql中響應時間超過閥值的語句,具體指執行時間超過long query time值的sql,則會被記錄到慢查詢日誌中。long query time的預設值為10,意思是執行10s以上的語句。預設情況下,mysql...
mysql開啟慢查詢日誌 MySQL慢日誌體系建設
慢查詢日誌是mysql提供的一種日誌記錄,用來記錄在mysql中響應時間超過閾值的sql語句,在很大程度上會影響資料庫整體的效能,是mysql優化的乙個重要方向。在58的雲db平台建設中,慢sql系統作為乙個非常重要功能模組,不僅是dba日常運維使用,我們也希望通過該功能可以協助開發人員更快速定位業...