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

被折叠的 条评论
为什么被折叠?



