1.概述
索引是帮助MySQL高效获取数据的排好序
的数据结构
。
索引存储在文件里
常见的索引结构:
- 二叉树
- 红黑树
- HASH
- BTREE
数据结构存储演示
MySQL底层采用的是BTREE。因为一般当数据量过大时,红黑树的深度过大,高度不可控。而哈希存在的问题是只便于精确定位某一行,当查询范围值的时候不便。B-Tree则一个节点可存储多个索引。
磁盘存取原理
- 寻道时间(速度慢,费时)
- 旋转时间(速度较快)
2.B-Tree
B-Tree
- 度(Degree)-节点的数据存储个数
- 叶节点具有相同的深度
- 叶节点的指针为空
- 节点中的数据key从左到右递增排列