发表于 2022-06-01 阅读次数: 前言: 每个索引都对应一颗二叉树 叶子结点(用户记录) + 内节点(目录项) 聚簇索引 InnoDb会自动为主键建立聚簇索引,包含用户纪录完整信息的索引 二级索引 叶子结点由主键和索引列构成,需要进行回表操作 索引结构 每层节点按照索引值大小排成双向链表,页内记录按照索引值排列成单向链表,联合索引依次排列 索引查找记录过程 从根节点依次往下,页内:二分+遍历 一、B+树索引示例图的简化二、索引的代价 空间 时间 三、应用B+树索引1、扫描区间和边界条件2、索引用于排序3、索引用于分组四、回表的代价五、更好地使用索引1、只为用于搜索、排序或分组的列创建索引2、考虑索引列中不重复值的个数3、索引列的值尽量小4、为列前缀建立索引5、覆盖索引6、让索引列以列名的形式在搜索条件中单独出现7、新插入纪录时主键大小对效率的影响8、冗余和重复索引六、总结