【发布时间】:2015-01-12 14:14:36
【问题描述】:
我的理解是(如果我错了或不准确,请纠正我)当您从 MySQL 表中删除数据(例如,整行)时,数据库文件的文件大小不会缩小。如果您有一个 20Gb 的数据库并从中删除了 19Gb 的数据,那么您将没有 1Gb 的数据库文件,它仍然是 20Gb。
在文件中数据所在的“空间”中会发生什么?它会被空数据取代吗?或者删除的数据是否保留在文件中,但被“标记”为已被删除,并且无法通过常规方式(如运行选择查询)再看到?如果我向数据库添加更多数据,它会进入旧删除数据所在的空间,还是总是占用新空间?
例如,在上面的示例中,如果我从 20Gb 的数据库中删除 19Gb,然后添加 5Gb 的新数据,那么数据库是 20Gb 还是 25Gb?
【问题讨论】: