mysql查询优化,让程序飞起来

一部总结:

      1.mysql嵌套子查询效率确实比较低

      2.可以将其优化成连接查询

      3.连接表时,可以先用where条件对表进行过滤,然后做表连接(虽然mysql会对连表语句做优化)

      4.建立合适的索引,必要时建立多列联合索引

      5.学会分析sql执行计划,mysql会对sql进行优化,所以分析执行计划很重要

最终sql调优的总结,以后有时间再深入研究

  1. 列类型尽量定义成数值类型,且长度尽可能短,如主键和外键,类型字段等等

  2. 建立单列索引

  3. 根据需要建立多列联合索引

当单个列过滤之后还有很多数据,那么索引的效率将会比较低,即列的区分度较低,

那么如果在多个列上建立索引,那么多个列的区分度就大多了,将会有显著的效率提高。

  1. 根据业务场景建立覆盖索引

只查询业务需要的字段,如果这些字段被索引覆盖,将极大的提高查询效率

  1. 多表连接的字段上需要建立索引

这样可以极大的提高表连接的效率

  1. where条件字段上需要建立索引

  2. 排序字段上需要建立索引

  3. 分组字段上需要建立索引

  4. Where条件上不要使用运算函数,以免索引失效

猜你喜欢

转载自blog.csdn.net/My_SweetXue/article/details/107245325