什么是索引,索引的数据结构
索引是帮助数据库高效获取数据的数据结构,索引也是以文件的方式存在磁盘中,索引以某种方式指向数据,所以可以在索引中实现高效的数据查询。
我们以二叉树为例来讲解一下索引的原理。下图左边为原始表数据,右边为在年龄字段上建立的二叉树结构的索引。
假设要查询年龄为19的人员的数据,如果没有索引需要全表扫描,从第一条数据开始依次比对年龄为19的数据。需要比对6次。
使用索引先在二叉树上查找,查到19需要比对3次,然后定位到左表的原始数据,速度得到明显提升,数据量越大提升效果越明显。
Mysql默认的的索引底层结构是B+树在讲解B+树之前我们先来看看其他数据结构用作索引有什么缺陷。
先来看看二叉树: