文章目录
- 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高效获取数据的数据结构
。 索引的本质:
索引是数据结