[MySQL / MariaDB] 使用Slow Query Log來偵錯

當服務異常緩慢,想要debug有沒有可能是哪些SQL拖慢了整體速度時,可以使用MySQL或MariaDB內建的Slow Query Log將執行很久的SQL語句給記錄下來。

啟用slow query log的機制

SET GLOBAL slow_query_log = 'ON';

設定slow query log機制的log儲存方式

SET GLOBAL log_output = 'FILE';

查看log存檔位置

SHOW VARIABLES LIKE '%log_file%';

設定會被當成slow query的門檻值 (單位: 秒)

SET GLOBAL long_query_time = XX;

好了以後,我們來測試看看當發生slow query時有沒有被資料庫正確記錄下來

SELECT SLEEP(YY);

(P.s. YY 秒必須大於上面設定的 XX 秒才會寫紀錄)

最後偵錯完畢時可以將它關閉

SET GLOBAL slow_query_log = 'OFF';

一則迴響

  • Alex

    2021-06-29

    Hello,

    Do you speak English? I would like to talk about sponsored post. Can we talk about it in English? And how can we talk? I didn't found feedback form.

    回復

發佈留言