sql性能调优

性能调优的本质,即用最少的IO来实现计算目的。
因此为减少IO,我们需要尽量对聚合后的数据进行计算。
所以,sql性能调优可以从以下角度来思考。
1)执行顺序:
from -join -on -where- group by- having-order by
主表数据量过大,若多表关联时未使用inner join,则可以先从主表中过滤出相应数据,将其作为中间表后再使用。
2)语句原理:
如能使用union all时,不用union(union包含去重操作,需要多余IO,类似耗费资源的操作还包括distinct、minus、intersect、order by);

3)索引使用:
索引的使用可以避免全表查询,从而加快查询的速度,但索引被不当使用时会失效。因此,我们需要避免索引失效的情况。
通常来说,索引使用时,尽量避免在索引列上做任何操作(计算、函数、(自动或手动)类型转换),会导致索引失效进而转向全表扫描。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值