当前位置:网站首页>MySQL回表指的是什么
MySQL回表指的是什么
2022-08-04 00:52:00 【亿速云】
MySQL回表指的是什么
本篇内容主要讲解“MySQL回表指的是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“MySQL回表指的是什么”吧!
引言
简单来说,回表就是 MySQL 要先查询到主键索引,然后再用主键索引定位到数据。
下面,对一些问题进行分析与回答:
什么是聚簇索引?什么是非聚簇索引?
为什么回表要先查到主键索引?
主键索引和非主键索引有什么区别?
如何避免回表?
聚簇索引和非聚簇索引是什么?
MySQL 的索引有不同的角度的分类方式,例如:按数据结构分、按逻辑角度分、按物理存储分。
其中,按物理存储分有两种索引:聚簇索引和非聚簇索引。
简单来说,聚簇索引是主键索引。
主键索引之外的就是非聚簇索引,非聚簇索引又叫辅助索引或者二级索引。
主键索引和非主键索引有什么区别?
相同点:都使用的是 B+Tree 。
不同点:叶子节点存储的数据不同
主键索引的叶子节点存储的是一行完整的数据;
非主键索引的叶子节点存储的是主键值。叶子节点不包含记录的全部数据,非主键的叶子节点除了用来排序的 key 还包含一个书签(bookmark),其中存储了聚簇索引的 key。
那么这两种索引在使用方面上有什么区别呢?
使用主键索引查询:
# 主键索引的的叶子节点存储的是**一行完整的数据**,# 所以只需搜索主键索引的 B+Tree 就可以轻松找到全部数据select * from user where id = 1;
使用非主键索引查询:
# 非主键索引的叶子节点存储的是**主键值**,# 所以MySQL会先查询到 name 列的索引的 B+Tree,搜索得到对应的主键值# 然后再去搜索该主键值查询主键索引的 B+Tree 才可以找到对应的数据select * from user where name = 'Jack';
可以看出使用非主键索引要比主键索引多使用一次 B+Tree。
B-Tree 和 B+Tree 的简单理解
理解聚簇索引和非聚簇索引的关键在于 B+Tree 的理解。
用一幅图来表示,其它的就不再过多解释了:

这里只是简单介绍一下 B-Tree 和 B+Tree 的区别:
B+树中只有叶子节点会带有指向记录的指针,而B树则所有节点都带有,在内部节点出现的索引项不会再出现在叶子节点中。
B+树中所有叶子节点都是通过指针连接在一起,而B树不会。
如何避免回表?
使用覆盖索引,所谓覆盖索引就是指索引中包含了查询中的所有字段,这种情况下就不需要再进行回表查询了。
到此,相信大家对“MySQL回表指的是什么”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
边栏推荐
猜你喜欢

Modulo operation (MOD)

分析:Nomad Bridge黑客攻击的独特之处

教你如何定位不合理的SQL?并优化之

The 600MHz band is here, will it be the new golden band?

越来越火的图数据库到底能做什么?

Electronics manufacturing enterprise deployment WMS what are the benefits of warehouse management system

C语言 函数递归

SQL优化的一些建议,希望可以帮到和我一样被SQL折磨的你

It will invest about 200 billion US dollars in the United States in 20 years, and Samsung Electronics looks so handsome

typescript58-泛型类
随机推荐
typescript50-交叉类型和接口之间的类型说明
研究生新生培训第四周:MobileNetV1, V2, V3
Getting started with MATLAB 3D drawing command plot3
数据库扩容也可以如此丝滑,MySQL千亿级数据生产环境扩容实战
Google Earth Engine ——利用公开的河流数据计算河流的有效宽度
The problem of disorganized data output by mnn model
The Beijing E-sports Metaverse Forum was successfully held
typescript56 - generic interface
How to find the cause of Fiori Launchpad routing errors by single-step debugging
MPLS Comprehensive Experiment
View the version number of CUDA, pytorch, etc.
typescript58-泛型类
XSS-绕过for循环过滤
Using matlab to solve the linear optimization problem based on matlab dynamic model of learning notes _11 】 【
What warehouse management problems can WMS warehouse management system solve in the electronics industry?
A Preliminary Study of RSS Subscription to WeChat Official Account-feed43
Justin Sun: Web3.0 and the Metaverse will assist mankind to enter the online world more comprehensively
字符串的排列
Tanabata festival coming, VR panoramic look god assists for you
七夕活动浪漫上线,别让网络拖慢和小姐姐的开黑时间