索引是帮助MySQL高效获取的数据的 排好序 的 数据结构算法
B Tree 结构数据结构
B+Tree 索引性能
MySQL所使用的B+Tree索引,通过了改造,叶子节点之家使用双向指针连接。
默认一个节点大小为16kb指针
MyISAM 存储引擎
非汇集索引,索引文件和数据分离,叶子节点里面data,存储的是数据地址blog
InnoDb 存储引擎
主键索引属于汇集索引,叶子节点data里面包含了完整的数据记录
非主键索引属于非汇集索引,为了数据的一致性和节省存储空间,叶子节点data里面存储了主键ID排序
Hash 索引
根据查询key值,经过hash算法,以及hash表,直接能够定位到数据存储的地址,效率很是高,不受数据量影响
不支持模糊查询,不支持范围查询,不支持排序索引
联合索引结构
按照建立联合主键几个字段的顺序进行排序,组合保存在B+Tree的叶子节点hash