唯一索引且不回表,效率是否和主键索引一致

如题,当查询不需要回表的时候,唯一索引和主键索引有没有性能上的区别?
比如下面这个表的两个语句

字段名 字段类型 索引
id INT(10) UNSIGNED PRIMARY KEY
old_id INT(10) UNSIGNED UNIQUE INDEX
name VARCHAR(20)
#1.使用主键
select old_id from test where id=10;

#2.使用唯一索引
select old_id from test where old_id=13;

假设id=10old_id=13指向的是同一条数据,上述两个查询方式效率是否相等?

世界最好语言的追随者
╰ゝSakura
最佳答案

按我理解,两者应该是一样的,唯一索引在不需要回表的情况下,实际是查b+树,跟主键索引的b+树查询一样。 mark下

1年前 评论
讨论数量: 3
╰ゝSakura

按我理解,两者应该是一样的,唯一索引在不需要回表的情况下,实际是查b+树,跟主键索引的b+树查询一样。 mark下

1年前 评论
巴啦啦

如果你确定仅 select old_id from test where old_id=13; 的话。那么没区别。

1年前 评论

都是b+树,不需要回表,个人觉得 应该一样的

1年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!