慢查詢

分析MySQL語句查詢性能的方法除了使用 EXPLAIN 輸出執行計畫,還可以讓MySQL記錄下查詢超過指定時間的語句,我們將超過指定時間的SQL語句查詢稱為“慢查詢”。

基本介紹

  • 中文名:慢查詢
  • 外文名:The slow query
  • 含義:超過指定時間的SQL語句查詢
  • 記錄方法:開啟“慢查詢”記錄功能等
記錄慢查詢的方法:
查看/設定“慢查詢”的時間定義
mysql> show variables like "long%";+-----------------+----------+| Variable_name   | Value    |+-----------------+----------+| long_query_time | 0.000100 |+-----------------+----------+1 row in set (0.00 sec)
如上述語句輸出,“慢查詢”的時間定義為0.0001秒(方便測試,一般設定為1-10秒)。使用下面語句定義“慢查詢”時間
mysql> set long_query_time=0.0001;Query OK, 0 rows affected (0.00 sec)
開啟“慢查詢”記錄功能
mysql> show variables like "slow%";+---------------------+------------------------------------+| Variable_name       | Value                              |+---------------------+------------------------------------+| slow_launch_time    | 2                                  || slow_query_log      | OFF                                || slow_query_log_file | /opt/mysql/data/localhost-slow.log |+---------------------+------------------------------------+3 rows in set (0.00 sec)
上述語句查看“慢查詢”的配置信息,你可以自定義日誌檔案的存放,但必須將 slow_query_log 全局變數設定為“ON”狀態,執行以下語句:
mysql> set global slow_query_log=ON;Query OK, 0 rows affected (0.01 sec)
結果:
mysql> show variables like "slow%";+---------------------+------------------------------------+| Variable_name       | Value                              |+---------------------+------------------------------------+| slow_launch_time    | 2                                  || slow_query_log      | ON                                 || slow_query_log_file | /opt/mysql/data/localhost-slow.log |+---------------------+------------------------------------+3 rows in set (0.00 sec)

相關詞條

熱門詞條

聯絡我們