首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

MySQL 內建 Profiling 性能分析工具實戰指南

     編輯:MySQL 資料庫相關知識

MySQL 內建 profiling 功能可詳細剖析 SQL 執行各階段耗時,無需第三方工具即可定位效能瓶頸。

操作步驟

  1. 檢查支援狀態
    SHOW VARIABLES LIKE '%profiling%';
    
  2. 開啟 Profiling
    SET profiling = 1;
    
  3. 執行目標 SQL
    SELECT goods_name FROM ecs_goods WHERE goods_id < 5000;
    
  4. 查看查詢列表與 ID
    SHOW PROFILES;
    
  5. 針對特定 Query ID 深度剖析
    SHOW PROFILE FOR QUERY 4;
    

SHOW PROFILE 支援的分析類型

SHOW PROFILE [type [, type] ...] [FOR QUERY n] [LIMIT row_count [OFFSET offset]]
type: ALL | BLOCK IO | CONTEXT SWITCHES | CPU | IPC | MEMORY | PAGE FAULTS | SOURCE | SWAPS

常用分析策略

  • ALL:完整時間線,適合初步排查
  • CPU + BLOCK IO:定位計算密集 vs I/O 密集
  • SOURCE:定位到具體原始碼函數(需 debug build)
  • CONTEXT SWITCHES:檢查執行緒切換開銷

注意事項

  • Profiling 為 Session 級別,關閉連線自動失效
  • 5.7+ 版本已標記棄用,8.0 移除,建議改用 Performance Schema 或 EXPLAIN ANALYZE
  • 生產環境謹慎開啟,有微小效能影響
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved