3.5 mysql索引数据结构
说明:本文讨论的知识点都是基于mysql InnoDB存储引擎。
一、索引是什么?
在mysql里索引是对数据库表中一列或多列的值进行排序的一种数据存储结构。它可以明显的提高查询效率。
二、索引的结构
1、二分查找法也叫折半查找
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200820171756882.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzMxNDUxNzEx,size_16,color_FFFFFF,t_70#pic_center)
从上述数组中查找48这条记录,可分三步完成。
2、二叉查找树
在二叉树中左子树的键值总是小于根的键值,右子树的键值总是大于根的键值。
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200820171835869.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzMxNDUxNzEx,size_16,color_FFFFFF,t_70#pic_center)
二叉查找树1
从上述二叉查找树里查找键值5的过程:
先找到根6,5小于6,因此查找6的左子树,找到3,5大于3,所以在找3的右子树,从而找到5,一共三次查找。