1.背景 在完成一个分表项目后,发现分表的数据迁移后,新库所需的存储容量远大于原本两张表的大小.在做了一番查询了解后,完成了优化. 回过头来,需要进一步了解下为什么会出现这样的情况. 与标题的问题的类似问题还有,为什么表数据内容删除了而表大小没有变化.其本质都是一样的. 要回答这些问题,我们需要从mysql的索引模型谈起. 2.InnoDB 的索引模型 由于 InnoDB 存储引擎在 MySQL 数据库中使用最为广泛,所以接下来就以 InnoDB 为例,分析其中的索引模型. 在 InnoDB 中