Mysql优化:
小表驱动大表
尽量减少数据扫描,减少磁盘访问
尽量在查询中加入一些可以提前过滤的的谓词条件,可以减少数据的扫描量
避免全表扫描,尽量命中索引,减少回表代价
返回更少的数据,减少网络传输或磁盘访问
减少交互次数,可以将热点数据存在redis中
避免大事务
使用更多资源
当使用limit分页深度很深时,可以先在子查询时把id单独分页查出来,然后在利用查询出的id去回表查询
尽量使用in代替or,因为MySQL会对in中的数据进行排序,然后利用二分查找或其他方法进行查找,会更快速,如果是or的话会一个一个对应查找。如果in中的数据能尽量排好序之后再去查询也会节省mysql去排序的效率。
如果group by之后对order by没有要求的话,可以使用order by null来禁止order by
Mysql优化小记
于 2022-12-16 16:25:54 首次发布