查看慢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();session

相關文章
相關標籤/搜索