Mysql 索引的使用情境

  • 考虑建立索引的情况:数据量庞大,查询吃力、经常通过该字段进行检索、该字段很少进行 DML 操作
  • 索引虽然可以提高查询效率,但在 DML 的同时需要更新索引,所以每个索引的建立都要慎重考虑,过多不必要的索引在经常 DML 的表中反而会降低整体效率;索引需要占用一定的空间,当磁盘空间有限时更要慎重考虑索引的建立
  • 建议通过主键索引检索,或通过 unique 约束字段索引检索
  • 唯一性较弱的字段上添加索引的用处不大,有时甚至会降低查询效率。因为唯一性较弱的字段每次都会检索到很多满足条件的关键字,产生过多的回表操作,耗费的时间甚至多过全表遍历

索引失效的情况

  • 模糊搜索并且以 % 开始,此时我们没办法确认顺序
  • 使用 or 时两边字段没有全部建立索引。没有索引的字段不管怎样都需要全表扫描,所以 mysql 忽略掉有索引的字段并进行一次全表扫描
  • 添加索引的字段参与了运算或使用了函数
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值