首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 綜合教學

MySQL 慢查詢核心命令速查手冊

     編輯:MySQL 綜合教學

慢查詢相關變量一覽

mysql> SHOW VARIABLES LIKE 'slow%';
+---------------------+--------------------------------+
| Variable_name       | Value                          |
+---------------------+--------------------------------+
| slow_launch_time    | 2                              |
| slow_query_log      | OFF                            |
| slow_query_log_file | /var/lib/mysql/mysql1-slow.log |
+---------------------+--------------------------------+

關鍵變量含義

變量默認值說明
slow_query_logOFF總開關:ON 啟用,OFF 關閉
slow_query_log_filehost_name-slow.log日志文件路徑,可自定義
long_query_time10超過此秒數記錄(支持微秒,如 0.5)
log_queries_not_using_indexesOFF記錄未使用索引的查詢(噪音大,慎開)
slow_launch_time2線程創建超過此秒數記錄到 slow_launch_threads 狀態
log_outputFILE輸出目標:FILE、TABLE、NONE

動態開啟(無需重啟)

SET GLOBAL slow_query_log = 1;
SET GLOBAL long_query_time = 1;
SET GLOBAL slow_query_log_file = '/data/logs/mysql/slow.log';

狀態變量監控

SHOW GLOBAL STATUS LIKE 'Slow_queries';        -- 累計慢查詢數
SHOW GLOBAL STATUS LIKE 'Slow_launch_threads'; -- 慢啟動線程數

日志分析工具鏈

  1. mysqldumpslow:官方自帶,快速 Top N
  2. pt-query-digest:Percona Toolkit,專業級分析報告
  3. mysqlsla:輕量級統計
  4. 自建 ELK / ClickHouse + 可視化大盤

生產環境建議配置

[mysqld]
slow_query_log = 1
slow_query_log_file = /data/logs/mysql/slow.log
long_query_time = 1
log_queries_not_using_indexes = 0
log_output = FILE
# 日志輪轉配置 logrotate
/var/lib/mysql/slow.log {
    daily
    rotate 30
    compress
    missingok
    notifempty
    create 640 mysql mysql
}
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved