一、什么是索引?
索引是帮助数据库高效查找数据的一种数据结构,主要用于提高数据的检索效率,降低数据库的IO成本,同时通过索引列来排序,降低数据排序的成本以及CPU的损耗
二、索引的底层结构
MySQL采用的是InnoDB引擎,用的是B+树的结构来存储数据
1、B+树的介绍
1)B+树只有叶子节点存储数据,非叶子节点只存储指针
2)B+树是一个矮胖树,层级低查找效率高
3)叶子节点之间是以双向链表的形式存在的,便于扫库,和区间查询
2、B+树和B树的不同
1)B树的叶子结点非叶子节点都存储数据和指针而B+树只有叶子结点存储数据其他节点只存储指针查找的效率更稳定
2)B+树查找效率更高因为叶子结点是双向链表的结构,所以便于区间查询,和扫库