MySQL show profile 调优:深入分析 SQL 执行性能
当 EXPLAIN 执行计划显示 SQL 已命中索引但仍执行缓慢时,show profile 可进一步分析 SQL 执行过程中的资源消耗(如 CPU、IO、内存等),定位具体性能瓶颈。本文详细介绍其配置、使用方法及优化实践。
show profile 简介
show profile 是 MySQL 提供的会话级性能分析工具,用于记录当前会话中 SQL 语句的执行阶段及各阶段的资源消耗,包括:
- 时间消耗(
Duration) - CPU 消耗(
CPU_user、CPU_system) - IO 操作(
Block_ops_in、Block_ops_out) - 内存、上下文切换、页面错误等
通过分析这些细节,可精准定位 SQL 执行中的低效环节(如临时表创建、磁盘 IO 频繁等)。
show profile 配置
查看当前配置
1 | show variables like '%profiling%'; |
输出结果: