【MySQL优化】使用索引覆盖优化查询速度

在这里插入图片描述

👏大家好!我是和风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+树就如上图所示:

img

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值