mysq的慢查詢日誌指得是mysql提供的一種日誌記錄,它用來記錄在mysql中響應時間超過閾值的語句,具體指執行時間超過long_query_time值的sql,則會記錄到慢查詢日誌中。long_ query_time的預設值是秒,即超過10秒的sql語句將會被記錄到慢查詢日誌中。
預設情況下mysql的慢查詢日誌是沒有開啟的,需要我們手動配置引數來開啟。如果不是為了調優,建議最好不要開啟,因為慢查詢日誌或多或少會帶來一些效能的影響。慢查詢日誌支援將日誌寫入檔案。
該命令用於檢視當前慢查詢日誌是否開啟及存放目錄。
linux下
通過對global slow_query_log引數的配置,可以開啟慢查詢日誌,但是只對當前資料庫有效,mysql重啟後則失效。
如果要永久生效,就需要修改my.cfg檔案。
在其[mysqld]下增加:
slow_query_log=1
slow_query_log_flie=自定義log檔案存放的目錄
如上圖所示,預設是10s,該引數也可以修改,如需要長期有效,也需要在my.cnf檔案中配置。
set global long_query_time=3;
設定完成後重新啟動乙個會話,設定時間才會生效。
需要注意的是,這裡配置的時間是允許的最大時間,只有sql的執行的時間大於long_query_time時,才會將這條sql記錄在日誌。
這裡為了測試,我們輸入select sleep(4)這條sql,看看執行完成後是否可以將其記錄在日誌檔案中。
檢視日誌檔案
該命令用來檢視當前系統下有多少條慢sql;
在實際的專案中,如何手動的分析日誌,查詢分析sql,無疑是乙個耗時耗力的事。mysql給我們提供了乙個分析日誌的工具——mysqldumpslow
可以通過mysqldumpslow–help;
以下是部分常用的選項:
在實際的開發中,通過對選項的組合使用,來分析sql,對sql進行優化。
mysql開啟慢查詢日誌 MySQL慢日誌體系建設
慢查詢日誌是mysql提供的一種日誌記錄,用來記錄在mysql中響應時間超過閾值的sql語句,在很大程度上會影響資料庫整體的效能,是mysql優化的乙個重要方向。在58的雲db平台建設中,慢sql系統作為乙個非常重要功能模組,不僅是dba日常運維使用,我們也希望通過該功能可以協助開發人員更快速定位業...
開啟mysql慢查詢日誌
檢視配置 檢視慢查詢時間 show variables like long query time 預設10s 檢視慢查詢配置情況 show status like slow queries 檢視慢查詢日誌路徑 show variables like slow 修改配置檔案 在 etc my.ini中...
開啟mysql慢查詢日誌
檢視配置 檢視慢查詢時間 show variables like long query time 預設10s 檢視慢查詢配置情況 show status like slow queries 檢視慢查詢日誌路徑 show variables like slow 修改配置檔案 在my.ini中加上下面兩...