当前位置:网站首页>B+树(4)联合索引 --mysql从入门到精通(十六)
B+树(4)联合索引 --mysql从入门到精通(十六)
2022-07-26 12:55:00 【用户9919783】
上篇文章介绍了主键索引(聚簇索引),二级索引(非主键索引,辅助索引),主键索引查询通过根目录记录查询对应的数据页目录。二级索引查询先查询列+页码名称的目录非叶子节点,之后在查询到叶子节点,此刻叶子节点上存储的是主键和列,在通过主键查询整条数据。
B+树(3)聚簇索引,二级索引 --mysql从入门到精通(十五)
联合索引
联合索引又称复合索引,比方说我们想让b+树按c2,c3两个列进行大小排序,那意思是:1)先按c2进行排序。2)c2相同的情况下,按c3排序。
所以现在底层叶子节点记录着:c2,c3,和他对应的主键c1,目录记录非叶子节点记录着c2,c3和页码名称,先按c2进行排序,如果一样,就按c3排序。其本质也是个二级索引,但不同的是:
联合索引只有一颗b+树。
如果为c2,c3分别建立索引有两颗b+树。
InnoDB索引树注意事项:
根节点保持不变
B+树的形成过程,1)给新表建立主键索引(聚簇索引),聚簇索引不是人为创建的,默认就有,此刻就会创建根节点页面,里面没有数据。2)随后插入用户记录数据,吧数据放入根节点。3)当根节点空间用完,此刻进行页分裂操作,得到新的页,此刻目录记录节点会放主键值和页码或者二级索引的列值和页码,底层叶子节点放用户记录和主键值,或者主键值和列值,而根节点升级为目录记录根节点。
内节点目录项唯一性
二级索引的内节点存储的是列值,但因为列值,比如姓名没有唯一性,可能有两个重名甚至更多重名的,这时候如何辨识他的唯一性呢,所以二级索引在目录页存储的不仅仅是列值+页码名称,还会带上当前行记录唯一主键,所以内节点存储的内容是列值+主键+页码。
一个页面最少存储两条记录
我们知道b+树只要三层层级就能存储庞大的数据,查询效率非常高,每次往下查询都会过滤掉很多没必要的子目录,那如果一个大目录页只放一个子目录是什么效果呢?那层级目录会非常非常多,而且最后存放用户记录数据只有一条数据。所以innoDB设置最少存放两条数据,这也是我们之前说的行格式时候说的结论。(表中只有一列的时候,不发生行溢出的情况下,能存多少字节,65535个字节)
边栏推荐
- Sword finger offer (21): push in and pop-up sequence of stack
- Kubernetes ---- life cycle introduction of PV and PVC
- Who is responsible for the problems of virtual idol endorsement products? And listen to the lawyer's analysis
- Sword finger offer 24. reverse the linked list
- The database consists of stored procedures and functions
- A super easy-to-use artifact apifox, throw swagger a few streets... (glory Collection Edition)
- How to remove underline and color when there is focus in the shutter textfield
- C#把Type当做泛型T,来作为方法的泛型进行使用
- MySQL可以自定义变参存储函数吗?
- Detailed explanation of redisson distributed lock process (II)
猜你喜欢

12-GuliMall 后台管理中商品系统的品牌管理

Kubernetes APIServer 限流策略
![[typescript] typescript common types (Part 2)](/img/6b/2ac07f16af044bdfb719753ae241cc.png)
[typescript] typescript common types (Part 2)

牛客刷SQL---2

基于ASP.NET的某高校学院档案管理系统

食品安全 | 这些常见食物小心有毒!速查自家餐桌

Kubernetes - Introduction to PV and PVC of advanced storage
![[5gc] what is 5g slice? How does 5g slice work?](/img/8c/52ba57d6a18133e97fa00b6a7cf8bc.png)
[5gc] what is 5g slice? How does 5g slice work?

Huawei ultra fusion fusioncube solution notes

Panorama of volcanic engine cloud growth plan: 30 + plans come out together, and military development advantage areas
随机推荐
父组件访问子组件的方法或参数 (子组件暴漏出方法defineExpose)
为什么要做“密评”?
Shutter cachednetworkimage fillet
LCD笔记(6)LCD驱动程序框架_配置引脚
Use flex to realize left middle right layout and middle adaptation
The best engineer was "forced" away by you like this!
V00 - do whatever you want when you are old
Sword finger offer 24. reverse the linked list
牛客刷SQL---2
Where is safe to open an account when buying stocks on mobile phones?
Ue5 official case Lyra full feature explanation 7. resource management
华为超融合FusionCube解决方案笔记
LCD笔记(4)分析内核自带的LCD驱动程序
Detailed explanation of redisson distributed lock process (II)
Solution: unable to load the file c:\users\user\appdata\roaming\npm\npx PS1, because running scripts is prohibited on this system.
虚拟偶像代言产品出问题谁负责?且听律师分析
LCD notes (5) LCD driver framework_ Use device tree
Data query where
【5G】5G中的CU和DU是什么?
postgresql官网下载出错