一. 索引: 索引是数据库中重要的数据结构,主要作用是提高查询的效率。索引相当于书本的目录,即可以快速定位所需数据的位置,而不用逐页查找。
二. 索引底层结构:索引底层主要采用B+树来实现索引的管理。B+树内部分为叶子节点和非叶子节点;非叶子节点主要用来存储索引和指针,一个索引约占8个字节大小一个指针约占6个字节总共就是14个字节,一个节点可以存储1170个字节,按照B+树的结构第二层即可存储11701170个字节,若第三层存储数据,数据大小为8+1024,可存储2000w左右数据基本性能完全足够。与B+树相对的是B树;B树的节点存储的是数据和索引所占空间较大,第一行大约能存15个第二行1515第三行151515以此类推B树的高度会随着数据的存入越来越高,也就意味着查询时所需走到路程越来越长,即查询效率的下降。B+与B直接B+的非叶子节点和叶子节点存储的数据不一样,可以使用尽量深度低的树存储大量数据,树的深度越低,查询的次数就越少,性能就越高。并且叶子节点是一个双向链表,支持范围查询,也能够提升访问效率。![]
三. 索引分类:聚簇索引(主键索引)和非聚簇索引(非主键索引)。聚簇:索引和行数据都放在一个叶子节点上;非聚簇:索引对应存储的数据是主键值。