【问题标题】:When data deleted from mysql, what happens to space it took up?当从mysql中删除数据时,它占用的空间会发生什么?
【发布时间】:2015-01-12 14:14:36
【问题描述】:

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

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

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

【问题讨论】:

    标签: mysql database file size


    【解决方案1】:

    每当插入完成时,它就会成为可以重复使用的空闲空间。可以通过 OPTIMIZE TABLE 命令发布到操作系统。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-10-28
      • 1970-01-01
      • 1970-01-01
      • 2022-06-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多