Mysql索引 ---- mysql索引底层结构
1、索引是什么
MySQL官方对索引的定义为:索引(Index)是帮助MySQL高效获取数据的数据结构。
可以得到索引的本质:索引是数据结构,索引的目的是提高查询效率,可以类比英语新华字典,如果我们要查询MySQL这个单词,首先我们需要在目录(索引)定位到M,然后在定位到y,以此类推找到SQL。
如果没有索引呢,那就需要从A到Z,去遍历的查找一遍,直到找到我们需要的,一个一个找和直接根据目录定位到数据,是不是差的天壤之别呢,这就是索引的妙用。
2、索引底层数据结构
当数据量大的时候,索引的数据量也很大,所以索引不可能全部放到内存中,因此索引一般以文件的形式存储到硬盘上。
除了数据本身之外,数据库还维护着一个满足特定查找算法的数据结构,这些结构以某种方式指向数据,这样就可以基于这些数据结构实现高级查找算法。这种数据结构就是索引。所以数据库不仅存着数据,还维护着数据结构。
物理地址相邻的记录,在磁盘上的存储位置不一定相邻。
索引算法种类(索引的底层存储结构):
- BST二叉树
特点: 左子树所有的节点都小于父节点,右子树所有的节点都大于父节点。投影到平面以后,就是一个有序的线性表。


1642

被折叠的 条评论
为什么被折叠?



