承接上篇文章繼續整理SQL分析
慢查詢
開啟慢查詢,可以設定一個時間閾值,當sSQL執行時間超過閾值,則會被記錄。通過這樣可以定位到需要優化的SQL
檢視慢查詢命令
mysql> show variables like 'slow_query%';
+---------------------+--------------------------------------+
| Variable_name | Value |
+---------------------+--------------------------------------+
| slow_query_log | OFF |
| slow_query_log_file | /var/lib/mysql/50aacb0262cd-slow.log |
+---------------------+--------------------------------------+
複製程式碼
mysql> show variables like 'long_query_time';
+-----------------+-----------+
| Variable_name | Value |
+-----------------+-----------+
| long_query_time | 10.000000 |
+-----------------+-----------+
複製程式碼
引數說明:
slow_query_log :是否開啟慢查詢 slow_query_log_file :慢查詢日誌存放位置 long_query_time:設定閾值,超過該值才會做記錄
設定步驟
開啟慢查詢
set global slow_query_log='ON';
複製程式碼
設定存放日誌位置
set global slow_query_log_file='/var/lib/mysql/slow.log ';
複製程式碼
設定超時時間
set global long_query_time=1;
複製程式碼
日誌效果
- 首先我執行一句SQL
mysql> select sleep(3); +----------+ | sleep(3) | +----------+ | 0 | +----------+ 1 row in set (3.00 sec) 複製程式碼
- 檢視日誌記錄 可以檢視到涉及到超過1S的SQL詳情