1、進入mysql目錄,開啟my.cnf檔案(這個檔案是mysql的配置檔案,我們在這個檔案裡設定慢查詢的開關和閾值,找不到my.cnf可用命令 find / -name my.cnf)
2、在my.cnf 加入以下配置:
log_output=table #慢查詢的記錄方式
slow_query_log=1 #1是開啟慢查詢日誌,0是關閉
long_query_time=1 #設定慢查詢的閾值(執行速度超過1秒就會被記錄在mysql.slow_log中)
3、配置好之後,在mysql中執行show variables like '%query%'; 重點看兩個變數long_query_time,slow_query_log(on為開啟狀態,off為關閉狀態),
慢查詢的資料存放在mysql.slow_log中。
4、修改完my.cnf必須重啟mysql服務
service mysqld restart 或者
systemctl start mysqld
5、執行 select sleep(2) 執行時間2秒,超過long_query_time=1,會記錄在mysql.slow_log中(此步驟只為測試慢查詢配置是否生效)
6、執行select * from mysql.slow_log order by start_time desc; 看錶中是否有資料,如有資料則點選sql_text欄位的blob右鍵複製,則可以複製出該條慢查詢對應的sql語句
7、將慢查詢sql語句複製到編輯器裡,選擇該sql語句點選解釋按鈕,觀察type欄位,以下是type欄位的解釋
const 查詢索引字段,且表中只有一行匹配
eq_ref 主鍵或者唯一索引
ref 非唯一索引
range 索引的範圍查詢
index 索引
all 全表掃瞄 (效率極低的檢索方式)
8、將問題反饋給開發,開發進行調優,新增外來鍵約束,同時會生成索引。
mysql配置慢查詢 MYSQL慢查詢配置
mysql慢查詢配置 1.慢查詢有什麼用?它能記錄下所有執行超過long query time時間的sql語句,幫你找到執行慢的sql,方便我們對這些sql進行優化.2.如何開啟慢查詢?首先我們先檢視mysql伺服器的慢查詢狀態是否開啟.執行如下命令 我們可以看到當前log slow queries...
mysql 技巧 慢查詢及分析
開啟慢查詢可以記錄到耗時超過設定時間閥值 long query time 的語句,預設不開啟。開啟慢查詢日誌會或多或少帶來一定的效能影響,建議僅除錯時開啟。通過 show variables like x 語句檢視配置狀態,如 show variables like slow query log 主...
mysql 慢查詢分析
轉自花開的地方 mysql有乙個功能就是可以log下來執行的比較慢的sql語句,預設是沒有這個log的,為了開啟這個功能,要修改my.cnf或者在mysql啟動 的時候加入一些引數。如果在my.cnf裡面修改,需增加如下幾行 long query time 1 log slow queries lo...