SQL性能优化-解决思路总结

    技术2022-07-11  108

    记录一下,以后遇到了补充实例。

    场景

         突然某条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详解

     

    Processed: 0.014, SQL: 10