查看慢SQL语句慢在哪里

如果我们频繁地在慢查询日志中发现某个语句执行缓慢,且在表 结构、索引结构、统计信息中都无法找出原因时,则可以利用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语句慢在哪里

上一篇:Oracle启动报错:ORA-03113: end-of-file on communication channel


下一篇:MySQL ------ 存储过程 (一) (二十五)