SQL调优

学海无涯,此篇会不定期收录调优手段。

SQL 调优的本质

SQL 调优,说到底就是合理的使用和建立索引。避免使用那些用不到索引的操作。

合理建立索引

  1. 首先考虑在 whereorder by 上涉及的列上建立索引。

合理使用索引

  1. 在使用索引字段作为查询条件时,如果该索引是 复合索引 ,那么必须使用到该索引中的第一个字段作为条件时才能保证系统使用该索引,并且尽可能让字段顺序和索引顺序一致(最左原则)。
  2. 合理利用 覆盖索引,减少 回表 的次数。

会弃用索引的操作

如下操作将导致搜索引擎放弃使用索引,从而进行全表扫描。【】内的是解决方案

  1. where 字句中对字段进行null值的判断【可以考虑在可能为null值的字段上设置默认值】。
  2. where 字句中使用 != 或者 <> 操作符。
  3. where 字句中使用 or 来做连接条件【可以用union all 来替代】。
  4. innot in 要慎用,也会导致全表扫描【连续数据,能用 between 就不用 in 】。模糊查询也是如此。
  5. where 字句后面对 字段 进行 表达式操作 ,对 字段 进行 函数操作 【即:不要在 where 字句 = 的左边进行函数、算术运算或其它表达式运算】。
  6. 如果有必须使用 in 的需求,可以尝试是否能用 exists 函数 代替。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值