索引为什么能让数据库快速找到记录?关键不只是减少比较次数,而是利用有序结构减少需要访问的数据页面。
这一集结合 InnoDB 的现实实现,讲清 B 树索引、聚簇索引、普通索引、回表和覆盖索引之间的关系,以及为什么数据库明明有索引,却仍可能选择全表扫描。
重点内容:
- 索引如何减少页面读取
- B 树为什么适合数据库索引
- 聚簇索引与普通索引分别保存什么
- 回表为什么可能让查询变慢
- 覆盖索引如何减少页面访问
- 为什么数据库有时主动放弃索引
- 主键长度为什么会影响所有普通索引
英文词对照:
- Index:索引
- B-tree:B 树索引结构
- Clustered Index:聚簇索引
- Secondary Index:二级索引或普通索引
- Covering Index:覆盖索引
- Full Table Scan:全表扫描
- Query Optimizer:查询优化器
- Execution Plan:执行计划
- Page Split:页面分裂

