先背书
聚簇索引
-
聚簇索引
通过表的主键
构建一个B+tree树
-
构建成的
B+tree树
的叶子节点
存放每一行的所有字段数据
,也把叶子节点称为数据页
-
每张表只能拥有一个聚簇索引
-
如果没有定义主键,innodb会选择非空的
唯一索引(第一个唯一索引)
代替 -
如果自定义主键和唯一索引都没有的话,innodb会生成一个
隐式主键id
,来做聚簇索引
二级索引
-
也叫
辅助索引
或者非聚簇索引
-
和
聚簇索引
不一样的是,二级索引
的叶子节点不存储行数据了,除了键值之外,还包含了相应行数据的聚簇索引
对应列的值 -
在查询
二级索引
时,先查询到叶子节点上相应行数据的聚簇索引
对应列的值,再去查询聚簇索引
查询到数据 -
一张表可以有多个
二级索引
直接上栗子
-
用户类别表,主要有四个字段
id
(主键id),user_id
(用户id),cate_id
(用户类别),update_time
(数据写入时间) -
索引的