如何计算InnoDB数据库所需的磁盘空间?

sw0*_*x2A 6 mysql innodb

我有几个带有InnoDB引擎的MySQL数据库.它们一起在文件系统上大小约为30 GB.几天以前,我删除了大量的数据,从这些数据库(〜10-15 GB),但在文件系统中使用的空间是相同的,也读数据长度和index_length从INFORMATION_SCHEMA.TABLES给几乎老的大小.

我甩了3,3 GB数据库,并将其导入我的工作站上只需要1,1 GB(是的,它是一个1:1副本)上.那么,如果我在新系统中重新导入它,我如何计算InnoDB数据库所需的大小?

Mch*_*chl 3

删除大量数据后优化您的表。 http://dev.mysql.com/doc/refman/5.1/en/optimize-table.html

  • 感谢您的回答,Mhl 和 El Yobo。即使有了你的答案,我仍然感到迷失,所以我做了一个实验:我拿了新导入的表并记下了 DATA_LENGTH 和 INDEX_LENGTH,然后我从表中删除了一半数据并再次记下了大小。然后我运行 OPTIMIZE TABLE,最后我删除了该表并重新导入它。简短的结果:优化表就足够了。| 行 | 数据长度 | INDEX_LENGTH 步骤 1 | 885449 | 390971392 | 577404928 步骤 2 | 444449 | 444449 377864192 | 563052544 步骤 3 | 444449 | 444449 195772416 | 291864576 步骤 4 | 444449 | 444449 195772416 | 291864576 (3认同)