一、慢查詢有什麼用
它能記錄下所有執行超過long_query_time時間的sql語句, 幫你找到執行慢的sql, 方便我們對這些sql進行優化.
二、如何開啟慢查詢
1、先檢視mysql伺服器的慢查詢狀態是否開啟.執行如下命令
show variables like '%quer%';
如果當前log_slow_queries狀態為off, 說明當前並沒有開啟慢查詢.
2、開啟慢查詢的方法
在mysql的配置檔案中的mysqld下方新增以下引數
log-slow-queries = d:/mysql/log/mysqld-slow-query.log
long-query-time = 5
#log-long-format
#log-slow-admin-statements
log-queries-not-using-indexes
三、慢查詢日誌分析
我們可以通過慢查詢日誌來找出有問題的sql語句,對其進行優化。隨著mysql資料庫伺服器執行時間的增加,可能會有越來越多的sql查詢被記錄到了慢查詢日誌檔案中,這時要分析該文章就顯得不是很容易了。
mysql提供的mysqldumpslow命令,可以很方便的對慢查詢日誌進行分析
命令列下,進入 mysql/bin 目錄,輸入 mysqldumpslow ?help
或 --help
可以看到這個工具的引數
其中,參與引數說明
1、-s order,是表示按照何種方式排序,order值有:c、t、l、r 分別是按照記錄次數、時間、查詢時間、返回的記錄數來排序,ac、at、al、ar,表示相應的倒序;
2、-t num,即為返回前面多少條的資料;
3、-g pattern,pattern可以寫乙個正則匹配模式,大小寫不敏感的;
例如
1、找出訪問次數最多的 20個sql 語句
mysqldumpslow -s c -t 20 host-slow.log
2、和返回記錄集最多的 20個sql
mysqldumpslow -s r -t 20 host-slow.log
3、按照時間返回前 10 條裡面含有左連線的 sql 語句
mysqldumpslow -t 10 -s t -g "left join" host-slow.log
4、輸出記錄次數最多的10條sql語句
mysqldumpslow -s c -t 10 /database/mysql/slow-log
參考資料: mysql 慢查詢日誌
mysql開啟慢查詢日誌 MySQL慢日誌體系建設
慢查詢日誌是mysql提供的一種日誌記錄,用來記錄在mysql中響應時間超過閾值的sql語句,在很大程度上會影響資料庫整體的效能,是mysql優化的乙個重要方向。在58的雲db平台建設中,慢sql系統作為乙個非常重要功能模組,不僅是dba日常運維使用,我們也希望通過該功能可以協助開發人員更快速定位業...
mysql慢日誌時間 MySQL慢查詢日誌優化
一 慢查詢日誌概念 mysql的慢查詢日誌是mysql提供的一種日誌記錄,它用來記錄在mysql中響應時間超過閥值的語句,具體指執行時間超過long query time值的sql,則會被記錄到慢查詢日誌中。long query time的預設值為10,意思是執行10s以上的語句。預設情況下,mys...
mysql 慢日誌 MYSQL慢查詢和日誌
一 簡介 開啟慢查詢日誌,可以讓mysql記錄下查詢超過指定時間的語句,通過定位分析效能的瓶頸,才能更好的優化資料庫系統的效能。二 引數說明 slow query log 慢查詢開啟狀態 slow query log file 慢查詢日誌存放的位置 這個目錄需要mysql的執行帳號的可寫許可權,一般...