
👏大家好!我是和风coding,希望我的文章能给你带来帮助!
🔥如果感觉博主的文章还不错的话,请👍三连支持👍一下博主哦
📝点击 我的主页 还可以看到和风的其他内容噢,更多内容等你来探索!
📕欢迎参观我的个人网站:Gentlewind

在讲解索引覆盖之前,我们还需要知道什么是回表查询。
回表查询
要了解回表查询,我们首先要知道 MySQL 的索引的分类和原理。
在 MySQL 中,索引分为两大类:
- 聚簇索引
- 普通索引
关于聚簇索引:
(1)如果表定义了PK,则PK就是聚集索引;
(2)如果表没有定义PK,则第一个not NULL unique列是聚集索引;
(3)否则,InnoDB会创建一个隐藏的row-id作为聚集索引;
区别:在索引创建的 B+树的叶子节点中,聚簇索引储存的是整个行记录,而普通索引 仅储存索引值和对应的聚簇索引值
举个例子:
假如有表 t:
t(id PK, name KEY, sex, flag);
// id是聚集索引,name是普通索引。
表中有四条行记录:
1, shenjian, m, A
3, zhangsan, m, A
5, lisi, m, A
9, wangwu, f, B
那么两个索引创建的 B+树就如上图所示:


最低0.47元/天 解锁文章

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



