如果我们频繁地在慢查询日志中发现某个语句执行缓慢,且在表结构、索引 结构、统计信息中都无法找出原因时,则可以利用 sys 系统库中的杀手锏:
sys.session 视图结合 performance_schema 的等待事件来找出症结所在。那么 session 视图有什么用呢?使用它可以查看当前用户会话的进程列表信息,看看 当前进程到底再干什么,注意,这个视图在 MySQL 5.7.9 中才出现。
首先需要启用与等待事件相关功能:
- call sys.ps_setup_enable_instrument(‘wait’);
- call sys.ps_setup_enable_consumer(‘wait’);
模拟调用:select sleep(30);