show profile 命令可追踪已执行 SQL 语句的资源消耗情况,有助于了解其运行过程中的性能表现,常用于系统性能分析与问题排查时作为参考依据。
1、 启用配置后,可通过show profile功能追踪记录SQL执行详情,具体设置示所示。
2、 多次执行select count(1) from test_table1;这条SQL语句,随后查看已执行语句的QUERY_ID,结果所示。通过观察不同执行记录的标识,可确认每次查询均生成唯一的QUERY_ID,便于追踪和管理历史任务。
3、 接着查看某个具体query_id的执行流程,所示。
4、 可查看已执行SQL语句在某一维度上的资源消耗详情。
5、 或者是
6、 所示
7、 可使用 show profile all for query 82 查看详细信息,更多参数请查阅相关资料与官方文档,具体示例所示。
8、 在MySQL中,SHOW PROFILE 所显示的内容实际上来源于 INFORMATION_SCHEMA.PROFILING 系统表。各类 SHOW PROFILE 命令本质上只是该系统表数据的不同呈现形式,相当于为同一数据源提供了多种查看方式。换句话说,它们是对 INFORMATION_SCHEMA.PROFILING 表中信息的封装与展示,便于用户从不同角度分析SQL执行过程中的性能细节,其底层数据始终统一存储于该系统表中。
9、 说实话,我不太喜欢用系统封装的命令,直接自定义条件查询系统表更直观、更踏实,能清楚知道每一步在做什么,也更灵活可控。
10、 MySQL的show profile功能与此类似,具体用法要么因频繁使用而熟练掌握,要么在需要时查阅即可。
