本文主要介紹的是MySQL慢查詢分析方法,前一段日子,我曾經設置瞭一次記錄在MySQL數據庫中對慢於1秒鐘的SQL語句進行查詢。想起來有幾個十分設置的方法,有幾個參數的名稱死活回憶不起來瞭,於是重新整理一下,自己做個筆記。
對於排查問題找出性能瓶頸來說,最容易發現並解決的問題就是MySQL慢查詢以及沒有得用索引的查詢。
OK,開始找出MySQL中執行起來不“爽”的SQL語句吧。
MySQL慢查詢分析方法一:
這個方法我正在用,呵呵,比較喜歡這種即時性的。
MySQL5.0以上的版本可以支持將執行比較慢的SQL語句記錄下來。
#p_code img{border:0px;}
<!–
Code highlighting produced by Actipro CodeHighlighter (freeware)
https://www.CodeHighlighter.com/
–>MySQL> show variables like long%;
註:這個long_query_time是用來定義慢於多少秒的才算“慢查詢”
#p_code img{border:0px;}
<!–
Code highlighting produced by Actipro CodeHighlighter (freeware)
https://www.CodeHighlighter.com/
–>+—————–+———–+
| Variable_name | Value |
+—————–+———–+
| long_query_time | 10.000000 |
+—————–+———–+
1 row in set (0.00 sec)
MySQL> set long_query_time=1;
註: 我設置瞭1, 也就是執行時間超過1秒的都算慢查詢。
#p_code img{border:0px;}
<!–
Code highlighting produced by Actipro CodeHighlighter (freeware)
https://www.CodeHighlighter.com/
–>Query OK, 0 rows affected (0.00 sec)
MySQL> show variables like slow%;
+———————+—————+
| Variable_name | Value |
+———————+—————+
| slow_launch_time | 2 |
| slow_query_log | ON |
註:是否打開日志記錄
#p_code img{border:0px;}
<!–
Code highlighting produced by Actipro CodeHighlighter (freeware)
https://www.CodeHighlighter.com/
–>| slow_query_log_file | /tmp/slow.log |
註: 設置到什麼位置
<p style="border-bottom: windowtext 0.5pt solid; border-left: windowtext 0.5pt solid; padding-bottom: 4px; padding-left: 5.4pt; width: 98%; padding-right: 5.4pt; bac