MySQL語句執行分析(二)

承接上篇文章繼續整理SQL分析mysql

慢查詢

開啓慢查詢,能夠設置一個時間閾值,當sSQL執行時間超過閾值,則會被記錄。經過這樣能夠定位到須要優化的SQLsql

查看慢查詢命令

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:設置閾值,超過該值纔會作記錄post

設置步驟

開啓慢查詢優化

set global slow_query_log='ON';
複製代碼

設置存放日誌位置spa

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詳情
相關文章
相關標籤/搜索