MySQL进阶:(三) InnoDB索引模型
目录 前言: 1.InnoDB索引模型 2 索引分类 是否具有主键约束:主键索引与二级索引 是否具有唯一约束:唯一索引和普通索引 索引字段数量:联合索引和单列索引 2 索引维护 索引重建操作 非主键索引 主键索引 索引重建流程 前言: 接上一篇 MySQL进阶:(二) 日志模块 ,索引是在存储引擎层实现的,索引在MySQL不同存储引擎中的实现是不同的,本篇介绍的是InnoDB的索引; 1.InnoDB索引模型 使用InnoDB存储引擎创建的表又叫做索引组织表,因为表中每一条记录(数据行)的物理顺序都是按照主键顺序 使用InnoDB引擎建立的表又称索引组织表,因为表中记录的物理顺序都与主键索引树的主键顺序保持一致,而具备该特点的主键索引又被称作聚集(聚簇)索引; 同一张表中每一个索引都对应着一棵B+树,当使用某个索引时,会先在该索引树上检索,因为索引项是有序的,所以可以直接利用二分查找快速定位叶子结点的位置;当没有使用任何索引时,比如select * from T会在主键索引树上全扫描。注意,按照SQL的执行顺序,即使添加上limit 1也无法避免全扫描; 2 索引分类 不同类型的索引的使用机制和使用场景都是不同的,这里先看下索引的分类; 是否具有主键约束:主键索引与二级索引 顾名思义,具备主键约束的索引是主键索引,主键索引以外的索引是二级索引;为了方面理解