xuMengqi's Blog

SQL语句如何优化及案例分析?


目录


  1. 1. 背景
    1. 1.1. 为什么需要优化SQL语句?
    2. 1.2. 如何定位并优化慢的SQL语句?
    3. 1.3. 环境准备
  2. 2. 执行计划
    1. 2.1. 如何查看SQL语句的执行计划?
    2. 2.2. select_type
    3. 2.3. type
    4. 2.4. filtered
    5. 2.5. Extra
  3. 3. SQL语句优化案例分析
    1. 3.1. 查询优化
      1. 3.1.1. 使用具体字段代替select *
      2. 3.1.2. 使用union all代替union
      3. 3.1.3. 避免索引失效导致全表扫描
      4. 3.1.4. 使用索引提高order by的效率
      5. 3.1.5. 使用索引提高group by的效率
    2. 3.2. 连接优化
      1. 3.2.1. join使用小表驱动大表
      2. 3.2.2. join的表不宜过多
      3. 3.2.3. 为join的关联条件建立索引
    3. 3.3. 业务优化
      1. 3.3.1. 深分页优化
  4. 4. 参考文档