码迷,mamicode.com
首页 > 数据库 > 详细

查看慢SQL语句慢在哪里

时间:2020-06-13 09:16:51      阅读:135      评论:0      收藏:0      [点我收藏+]

标签:线程   call   sum   查看   and   statement   事件   lis   from   

如果我们频繁地在慢查询日志中发现某个语句执行缓慢,且在表 结构、索引结构、统计信息中都无法找出原因时,则可以利用sys系 统库中的撒手锏:sys.session视图结合performance_schema的等待事件 来找出症结所在。那么session视图有什么用呢?使用它可以查看当前 用户会话的进程列表信息,数据来源于sys.processlist视图(使用该视 图可以查询所有前台和后台线程的状态信息,默认按照进程等待时间 和最近一条语句执行完成的时间降序排列。数据来源: performance_schema的threads、events_waitscurrent、events statements_current、events_stages_current、events_transactions_current、 session_connect_attrs等表和sys.x$memory_by_thread_by_current_bytes视 图),查询结果字段与processlist视图类似,但session视图过滤掉了 后台线程,只显示与前台(用户)线程相关的统计数据。该视图在 MySQL5.7.9中是新增的。 下面是使用session视图查询的结果集。
操作步骤:
(1)开启需要启用与等待事件相关的instruments、consumers
call sys.ps_setup_enable_instrument(‘wait‘)
call sys.ps_setup_enable_consumer(‘wait‘)
(2)查询session
select * from session where command=‘query‘ and conn_id!=connection_id();

查看慢SQL语句慢在哪里

标签:线程   call   sum   查看   and   statement   事件   lis   from   

原文地址:https://blog.51cto.com/9194349/2504053

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!