文章目录 1. 为什么使用索引 2. 索引及其优缺点 2.1 索引概述 2.2 优点 2.3 缺点 3. InnoDB中索引的推演 3.1 索引之前的查找 3.1.1 在一个页中的查找 3.1.2 在很多页中查找 3.2 设计索引 3.2.1 一个简单的索引设计方案 3.2.2 InnoDB中的索引方案 3.3 常见索引概念 3.3.1 聚簇索引 3.3.2 二级索引(辅助索引、非聚簇索引) 3.3.3 联合索引 3.4 InnoDB的B+树索引的注意事项 3.4.1 根页面位置万年不动 3.4.2 内节点中目录项记录的唯一性 3.4.3 一个页面最少存储2条记录 4. MyISAM中的索引方案 4.1 MyISAM索引的原理 4.2 MyISAM 与 InnoDB对比 5. 索引的代价 6. MySQL数据结构选择的合理性 6.1 全表遍历 6.2 Hash结构 6.3 二叉搜索树 6.4 AVL树 6.5 B-Tree 6.6 B+Tree 6.7 小结 1. 为什么使用索引 2. 索引及其优缺点 2.1 索引概述 MySQL官方对索引的定义为:索引(Index)是帮助MySQL高效获取数据的数据结构。 索引的本质:索引是数据结