大家好,我是anyux。本文介绍MySQL数据show命令及索引。
show命令
索引的作用
类似于书中的目录,起到优化查询的作用
索引的分类(算法)
BTree(B树索引),innodb引擎默认使用的索引类型(研究重点)
RTree(R树索引)
Hash索引,MySQL内部自动在索引层构建Hash索引
FullText(全文索引),与ES类似
GiS索引,存储地理位置信息
BTree索引算法演变(简单描述)
如果要深入了解BTree,需要先学习二叉树,平衡二叉树等,现在只是需要了解数据使用的算法类型,而不是去学习算法。这里只简单叙述,不做深入研究
B-Tree(平衡多路查找树)
B-树的搜索,从根结点开始,对结点内的关键字(有序)序列进行二分查找,如果命中则结束,否则进入查询关键字所属范围的枝结点;重复,直到所对应的儿子指针为空,或已经是叶子结点;
以下面画图为例,要找到数字60,首先从根节点,大于50,小于100,所以使用p2指针,在枝结点中,小于66,使用p1指针指向数据页,在数据页中查找60。使用这种方式通过3步就可以快速找到需要的数据
B+Tree()
B+Tree是在B-Tree基础上的一种优化,使其更适合实现外存储索引结构,InnoDB存储引擎就是用B+Tree实现其索引结构。
B*Tree
B*树是B+树的变种,使得节点空间使用率更高,且枝结点之间存在指针
领取专属 10元无门槛券
私享最新 技术干货