【面试系列】主键索引和唯一索引谁更快?
1、主键和唯一索引的区别
2、主键 和 唯一索引 谁更快
主键索引和非主键索引的示意图如下:
非主键索引的叶子节点存放的是主键的值,而主键索引的叶子节点存放的是整行数据,其中非主键索引也被称为二级索引,而主键索引也成为聚簇索引。
根据这两种结构我们来进行下查询,看看他们在查询上有什么区别。
1、如果查询语句是 select * from table where ID = 100,即主键查询的方式,则只需要搜索 ID 这棵 B+树。
2、如果查询语句是 select * from table where k = 1,即非主键的查询方式,则先搜索k索引树,得到ID=100,再到ID索引树搜索一次,这个过程也被称为回表。
也就是说,非主键索引查询会比主键查询多搜索一棵树。
3、为什么建议使用主键自增的索引?
这是一颗主键索引的树
如果我们插入 ID = 650 的一行数据,那么直接在最右边插入就可以了
赞赏码
非学,无以致疑;非问,无以广识