3.5 mysql索引数据结构
说明:本文讨论的知识点都是基于mysql InnoDB存储引擎。
一、索引是什么?
在mysql里索引是对数据库表中一列或多列的值进行排序的一种数据存储结构。它可以明显的提高查询效率。
二、索引的结构
1、二分查找法也叫折半查找
从上述数组中查找48这条记录,可分三步完成。
2、二叉查找树
在二叉树中左子树的键值总是小于根的键值,右子树的键值总是大于根的键值。
二叉查找树1
从上述二叉查找树里查找键值5的过程:
先找到根6,5小于6,因此查找6的左子树,找到3,5大于3,所以在找3的右子树,从而找到5,一共三次查找。
二叉查找树2
而上图也是一个二叉查找树,但是它的查找效率和顺序查找差不多。因此若想最大性能的构造一棵二叉查找树,需要这棵查找树是平衡的。
3、平衡二叉树
平衡二叉树首先需要满足二叉查找树的规则,其次需要满足任意两个节点的两个子树的高度差为1。
二叉查找树1图中的二叉树就