SQL性能優化-解決思路總結

記錄一下,以後遇到了補充實例。

場景

     突然某條sql很慢

分析

    1.是不是鎖表

    2.表數據量是不是很大了

    3.explain分析sql(索引方面)

問題排查及解決

1、查詢是否鎖表 show OPEN TABLES where In_use > 0;

2、查詢進程

    show processlist  

    補充:要殺死進程調用: kill    id

3、查看正在鎖的事務

SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCKS; 

4、查看等待鎖的事務

SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCK_WAITS; 

5.鎖沒有問題,數據量也沒有到分庫分表數量級的,接下來用explain分析sql本身,看是不是沒有用到索引等等。

explain參考:MySQL Explain詳解

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章