关于数据库中索引的使用场景

适合添加索引的场景

  1. 字段数值有唯一性的限制

    业务上具有唯一特性的字段,即使是组合字段,也必须建成唯一索引

    不要以为唯一索引影响了insert的速度,这个速度损耗可以忽略,但提高查询速度是明显的

  2. 频繁作为where查询条件的字段添加index普通索引

  3. 经常group by 和order by的列(同时存在使用联合索引,group by 索引放前面,单独就单独创建)

  4. 更新update,删除delete的where条件列

  5. 去重字段需要创建索引

  6. 多表join字段需要创建索引

    首先join表的数量尽量不要超过三张,其次对where条件创建索引,对于连接的字段创建索引

  7. 使用类型小的列创建索引

  8. 只用字符串前缀添加索引

  9. 区分度高(散列性高) 的列适合做索引

  10. 使用最频繁的列放到联合索引的最左侧

  11. 在多个字段都要创建索引联合索引优于单值索引

限制索引数目

  1. 单表不要超过六个索引

    索引需要占据磁盘空间

    insert,update,delete,的同时需要维护索引,造成负担

    索引优化器选择成本增加

不适合创建索引的场景

  1. where,group by,order by中使用不到的字段不需要创建索引
  2. 数据量小(少于1000行)的表最好不要创建索引
  3. 大量重复数据的列不要创建索引
  4. 避免对更新的字段创建索引
  5. 不建议用无序的字段值创建索引
  6. 不要定义冗余重复的索引

小结

索引是一把双刃剑,提升速度的同时也占用了磁盘空间,同时还影响了增删改
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值