当从mysql中删除数据时,它占用了多少空间?

时间:2014-11-15 04:53:20

标签: mysql database file size

我的理解是(纠正我,如果我错了或不准确),当您从MySQL表中删除数据(例如,整行)时,数据库文件的文件大小不会缩小。如果您有一个20Gb的数据库并从中删除了19Gb的数据,那么您将没有1Gb的数据库文件,它仍然是20Gb。

以前数据所在的文件中的“空格”会发生什么?是否被空数据取代?或者删除的数据是否保留在文件中,但被“标记”为已被删除,并且通过常规方式(如运行选择查询)无法再查看?如果我向数据库添加更多数据,它会进入旧的已删除数据的空间,还是会占用新空间?

例如,在上面的示例中,如果我从20Gb数据库中删除19Gb,然后添加5Gb的新数据,数据库是20Gb还是25Gb?

1 个答案:

答案 0 :(得分:1)

完成插入后,它将成为可重用的自由空间。它可以通过OPTIMIZE TABLE命令释放到操作系统。