mysql大数据量查询优化 (转载)

Ratel 2019年06月20日 693次浏览

文章来源

查询总结

  • mysql嵌套子查询效率确实比较低, 可以将其优化成连接查询
  • 连接表时,可以先用where条件对表进行过滤,然后做表连接(虽然mysql会对连表语句做优化)
  • 建立合适的索引,必要时建立多列联合索引
  • 学会分析sql执行计划,mysql会对sql进行优化,所以分析执行计划很重要

sql调优总结

  • 列类型尽量定义成数值类型,且长度尽可能短,如主键和外键,类型字段等等
  • 建立单列索引
  • 根据需要建立多列联合索引
  • 当单个列过滤之后还有很多数据,那么索引的效率将会比较低,即列的区分度较低
  • 如果在多个列上建立索引,那么多个列的区分度就大多了,将会有显著的效率提高。
  • 根据业务场景建立覆盖索引只查询业务需要的字段,如果这些字段被索引覆盖,将极大的提高查询效率
  • 多表连接的字段上需要建立索引,这样可以极大提高表连接的效率
  • where条件字段上需要建立索引
  • 排序字段上需要建立索引
  • 分组字段上需要建立索引
  • Where条件上不要使用运算函数,以免索引失效