开发者社区> 问答> 正文

如何查看某个语句的执行过程?


问题描述:
在优化sql的过程中,我们通常会用explain来分析某一句sql的执行计划来调整索引,优化语句,但是如何查看某个语句的执行过程呢?


解决过程:
可以通过profiles语句来查看每一步消耗的时间,具体操作过程如下
1.开启profiling
SET profiling = 1;



2.执行sql语句
3.查询开启后的执行语句
show profiles;



4.查询最后一条sql执行过程
SHOW PROFILE;



5.查看指定queryid语句执行过程
SHOW PROFILE FOR QUERY 1;



查看指定语句cpu消耗
SHOW PROFILE CPU FOR QUERY 2;



DRDS也可以查询这类信息
用mysql 客户端执行 ,trace select * from xxxxxx; 执行完毕后执行show trace; 这样会给到用户这个sql在DRDS中和RDS中的每一个部分时间消耗。

展开
收起
dreamdoo 2015-10-23 15:29:08 10859 0
5 条回答
写回答
取消 提交回答
  • Re如何查看某个语句的执行过程?
        
    2016-01-18 22:43:37
    赞同 展开评论 打赏
  • Re如何查看某个语句的执行过程?
    sql语句现在慢慢的能看懂了,哈哈
    2015-11-05 14:48:28
    赞同 展开评论 打赏
  • 码农|Coder| Pythonista
    show processlist 也类似,不过没这么细致
    2015-10-26 02:33:13
    赞同 展开评论 打赏
  • 一个程序员,欢迎骚扰!!!
    长 见识了 以前 只是简单的会用
    2015-10-24 21:34:37
    赞同 展开评论 打赏
  • 围观学习
    2015-10-23 16:13:17
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
MaxCompute Logview参数详解和问题排查(废弃) 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载