什么时候需要 / 不需要创建索引?


前言

我们知道索引可以加快数据库查询数据的效率,可是什么时候能加索引什么时候不能加索引呢?索引有什么缺点呢?我往下看。


提示:以下是本篇文章正文内容,下面案例可供参考

一、索引的缺点是什么?

  • 需要占用物理空间,数量越大,占用空间越大;
  • 创建索引和维护索引要耗费时间,这种时间随着数据量的增加而增大;
  • 会降低表的增删改的效率,因为每次增删改索引,B+ 树为了维护索引有序性,都需要进行动态维护。
    所以说索引不是万能的,他是有一定的缺陷的。

二、什么时候适合使用索引?

  • 字段有唯一性限制,比如商品编码;
  • 经常作为查询列的字段,如果查询条件不是一个字段,可以建立联合索引。
  • 经常使用GROUP BY 和ORDER BY的字段。

三、什么时候不适合建立索引?

  • where条件、group by条件、order by条件里用不到的字段,索引是用来快速定位数据的,如果定位不到数据,那么该索引是没有用的。索引也会占用空间。
  • 字段中存在大量的重复数据,不需要建立索引,比如性别字段,只有男女。
  • 表数据太少的时候,不需要创建索引。
  • 经常跟新的字段不需要建立索引,因为频繁修改索引字段,会导致B+树频繁重建索引,这个过程会影响数据库的性能。

四、有什么可以优化索引的方法?

  • 前缀索引优化
  • 覆盖索引优化
  • 主键索引最好是自增的
  • 防止索引失效
  • 10
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值