什么时候用索引

1.原则上来说:一个表需要跟别人做连接的字段都要加索引,比如表A 的A1,A2,A3需要跟其他表发生连接,那么3个字段都要加索引

2.经常用来查询的字段,模糊查询的字段不用, 其他精确查询且字段重复率低的最好需要.比如 varchar字段

3.如果一个表经常用这个字段进行条件查询,这个字段是不是要加索引,要看这个字段的值是什么场景的,如果是枚举的,值是固定的几个,就没多大意义,如果是各式各样的,比如 varchar(100)里面的值重复很少,而且查询不是以like()进行 那么可以考虑加一加.

4.Mysql中Like查询 keyword%,走索引 %keyword%不走索引

5.比如用户名,创建时间,状态,很多常用的条件,就可以尝试建组合索引,注意Where顺序要一样,组合索引,要有组合字段被检索的场景才有用

6.数据重复多的话用位图索引

7.索引多了的表,不建议物理删除数据,最好逻辑删除,索引多了维护起来累,还有,建议索引不要跟数据在一个表空间(Oracle)

8.只要用索引就会拖慢插入 更新的速度,所以自己权衡好

9.每个表不超过三个索引,并不是建的越多性能越好,乱建索引会导致查询慢,具体请看执行计划

10.Oracle高版本按照CBO来优化的,如果CBO觉得不走索引快,那么你建再多的索引都没有用.

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值