索引与算法
InnoDB 存储引擎索引概述
InnoDB 存储引擎支持两种常见的索引:B+ 树索引,哈希索引。
InnoDB 存储引擎支持的哈希索引是自适应的,InnoDB 存储引擎会根据表的使用情况自动为表生成哈希索引,不能认为干预是否存在一张表中生成哈希索引。
B+ 树是目前关系型数据库系统中最常用、最有效的索引。B+ 树索引的构造类似于二叉树,根据键值(Key Value)快速找到数据。B+ 树索引并不能找到一个给定键值的具体行。B+ 树索引能找到的知识被查找数据行所在的页。然后数据库通过把页读入内存,再在内存中进行查找,最后得到查找的数据。
二叉查找法
……
平衡二叉树(AVL 树)
例如:下面的这颗二叉查找树的中序遍历:2、3、5、6、7、8
6
/ \
3 7
/ \ \
2 5 8
平衡二叉树:
- 符合二叉查找树的定义;
- 满足任何节点的左右两个子树的高度最大差为 1。
B+ 树
由 B 树和索引顺序访问方法演化而来。
B+ 树是为磁盘或其他存取辅助设备而设计的一种平衡查找树,在 B+ 树中,所有记录节点都是按键值的大小顺序存放在通一层的节点中,各叶节点指针进行连接。