mysql性能优化总结(持续更新)

mysql性能优化总结(持续更新):
1.尽可能避免模糊值查询,即!=、<>;使用like避免使用左侧通配符;避免对查询字段使用表达式;以上均会导致mysql选择全表查询而忽略索引
2.慎用使用or 和 in,前者若存在字段无索引,将会导致索引失效。in在查询性能上高于or,因为in采用二分查询,时间复杂度为O(logn)而or的为O(n)。条件列表数值连续的情况下,使用between比in效率更高。
3.能用where就避免使用having,where运行顺序在having之前,having与group by搭配使用,用于过滤结果集
4.特殊情况下可强制使用索引 force index
5.对非全字段更新的数据,不应贪方便全字段更新,消耗性能,需要更新哪个字段就更新哪个字段。
6.切记:进行查询,除非表字段都需查出来,否则不应该全表查询。
7.对于多数据多表连表查询,若情况允许先分页再连表,避免过多逻辑操作。
8.union 会将查询数据组合在一起,过滤重复数据,union all 则组合在一起,不会进行过滤,在确定连表数据不存在重复数据的时候,应选择union all。
9.对使用索引的表进行数据更改,可根据实际需求使用optimize table优化磁盘空间资源(optimize table会进行锁表操作,故应选择业务空闲时间操作)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值