普通索引和唯一索引在查询效率上有什么不同?

本文探讨了普通索引和唯一索引在查询效率上的差异。唯一索引具备唯一性约束,找到匹配项即停止检索;而普通索引会继续判断后续记录。在InnoDB存储引擎中,两者都需要加载整个数据页到内存,因此在实际查询效率上差别不大。

普通索引和唯一索引在查询效率上有什么不同?

唯一索引仅仅是在普通索引的基础上增加的唯一约束,即关键字唯一,当找到对应的关键字就是停止检索。而普通索引找找关键字之后不会立即停止检索,还会去判断下几条记录是否满足条件。根据页结构原理,在innodb引擎上,我们要查找某条记录并不是仅仅把这个记录加载到内存中,而是将这个记录所在的数据页全部加载到内存中,而一个页的大小为16kb,里面可能存储上千条记录,虽然普通索引再找到对应的关键字后回往下多判断几次,但这是在内存层面判断的,对于cpu来说,这个判断锁损耗的时间几乎可以忽略,所以在对某个字段进行索引检索的时候,采用普通索引和唯一索引在查询效率上是没有太大的区别的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

C_x_330

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值