MySQL高级开发(三)--SQL性能下降原因分析

MySQL高级开发(三)–SQL性能下降原因分析

标签(空格分隔): MySQL


在日常的运维过程中,经常会遇到DBA将一些执行效率较低的SQL发过来找开发人员分析,当我们拿到这个SQL语句之后,在对这些SQL进行分析之前,需要明确可能导致SQL执行性能下降的原因进行分析,执行性能下降可以体现在以下两个方面:
1、等待时间长

锁表导致查询一直处于等待状态,后续我们从MySQL锁的机制去分析SQL执行的原理

2、执行时间长
分别有以下几个原因:

  1. 运行环境的原因(可忽略)
    例如:磁盘空间满了
  2. 查询语句写的烂
    例如:各种join、各种子查询、没建索引
  3. 索引失效(分单值、复合)
    建了索引,但执行SQL的时候没用上
  4. 关联查询太多join(设计缺陷或不得已的需求)
  5. 服务器调优及各个参数设置(缓存、线程数等)

通过上述五种原因去分析SQL为什么执行性能下降,执行效率低。各个击破

你可能感兴趣的:(mysql)