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 檢視慢查詢日誌是否...