MySQL的索引问题

1:常见索引的分类

  索引是什么?索引是用来帮助MySQL快速过去信息的数据结构,其存储在文件系统中,存取的形式与使用的存储引擎相关,比如InnoDB引起中,索引与数据放在同一个文件中,MyLASM引擎中,索引与数据放在不同的文件中。常见的索引分类有;主键索引,唯一索引,普通索引,全文索引以及组合索引

2:MySQL索引引擎的数据结构

  为什么要使用B+树来实现MySQL的索引的底层数据结构?而不是HashTable,二叉树,或B树这些尼?

  1. HashTable:用来存取和查找树的速度是很快的,但是这种快是体现在准确值的查找,如果是范围查找或者模糊查找怎么实现尼?是无法实现的。
  2. 二叉树:我们学习的过程中,有序二叉树是可以同时满足查找速度和增删速度的,并且也支持范围查找。但是二叉树的由于每个节点只有两个子树,所以随着节点的增加,树会原来越深,在MySQL中对应的IO操作也与增加,范围降低了速度和效率。

下面画图来分析:B树和B+树的有区别。

 

 

3:不同索引引擎之间的区别

 

posted @ 2020-03-26 14:00  大朱123  阅读(162)  评论(0编辑  收藏  举报