MySQL優化查詢之慢查日誌的使用

2021-08-28 07:20:25 字數 1358 閱讀 3910

mysql資料庫自帶了對sql語句的日誌查詢,在慢查日誌中,你可以設定慢查日誌中所包含語句執行時間是多長時間以上的。

凡是大於這個查詢時間的都會記錄到慢查日誌中。mysql預設是不開啟慢查日誌的。需要我們手動進行設定。

首先選定乙個位置,新建乙個日誌檔案這裡用"mysql-show.sql"

設定慢查日誌的檔案為剛建的。在dos視窗中登入mysql後,輸入:

set global slow_query_log_file='d:/mysql-5.6.25-winx64/mysql-show.log';
設定時長,大於該時長的語句都會被記錄到慢查日誌中:   

//查詢慢查日誌的設定時長

show variables like 'long_query_time';

set global long_query_time=0; //必須重啟mysql 才能生效

開啟慢查日誌

//開啟

set global slow_query_log=on;

以上慢查日誌就設定好了,我們現在可以用了。

當我們查詢的語句執行時長大於0s時,會記錄到慢查日誌中。

先來看一下慢查日誌中記錄的內容吧。以乙個sql語句為例:

select * from film_list;

# time: 160511 10:30:46 //發生的時間

//執行使用者名稱 和 執行的機器ip

# user@host: root[root] @ localhost [::1] id: 15

//查詢時間 鎖定時間 返回的行997 掃瞄的行24861

# query_time: 0.062490 lock_time: 0.000000 rows_sent: 997 rows_examined: 24861

set timestamp=1462933846; //執行的時間

//執行的語句

select * from film_list;

當然如果慢查日誌中的語句足夠多時,手動去檢視會很麻煩,所以mysql自帶了乙個mysqldumpslow的乙個分析工具。

但是這個工具預設在linux下可以直接使用,在windows下面需要安裝支援他的perl軟體。

還有乙個第三方的工具:pt-query-digest。

以上就是mysql效能優化涉及到的一些工具使用和環境的配置。當然還有一些我們需要了解的比如mysql資料庫中的information-schema。這個資料庫中存放的是我們mysql資料庫中所有的相關的統計資訊,他並不是乙個示例資料庫。在一些效能優化中可以會用到這個資料庫來查詢統計資訊。

mysql優化之慢查詢日誌開啟

博文位址 mysql資料庫的優化 1 檢視mysql是否開啟慢查詢日誌 show variables like slow query log 檢視手否開啟沒有索引的記錄到慢查詢日誌 show variables like log queries not using indexes 查詢到都是off,...

mysql之慢查詢日誌

一 mysql的慢查詢日誌是mysql提供的用來記錄響應時間超過閾值的語句,預設情況下mysql沒有開啟慢查詢日誌,需要手動開啟,開啟慢查詢日誌對資料庫效能會有一點影響,所以在不調優的情況下不建議開啟慢查詢日誌功能 1 檢視是否開啟慢查詢日誌的命令 show variables like slow ...

MySQL之慢查詢日誌

預設情況下,mysql 資料庫沒有開啟慢查詢日誌,需要我們手動來設定這個引數 如果不是調優需要的話,一般不建議啟動該引數,因為開啟慢查詢日誌會將sql語句寫入日誌,因此或多或少帶來一定的效能影響。sql語句 說明show variables like slow query log 檢視慢查詢日誌是否...