【发布时间】:2013-07-15 05:08:00
【问题描述】:
我在 mysql innodb 数据库上运行了以下命令,惊讶地发现磁盘使用量没有变化,尽管这些列包含大约 150gb 的长文本格式数据。
update incidents set xml = NULL;
数据库以前存储非常大的原始 xml 文件,而不是指向存储在磁盘上的文件副本的指针。不,将许多大文件直接存储在数据库中的不良做法与我的问题无关。
我想知道的是为什么在执行我希望将列中的所有值设置为空的命令后数据似乎仍然占用磁盘空间,从而从数据库中擦除旧数据。是的,我知道 drop 命令可能更适合我的需要,但目前我只是想了解为什么上述命令没有按我预期的方式运行。
【问题讨论】:
-
我想就是这样,Mike Brant。我假设mysql默认会释放磁盘空间,而我的情况是一些异常值,或者我很可能在搜索时发现了这一点。另外,FreshPrinceOfSO,我不知道 dba.se。以后我会在那儿指导这些问题。
标签: mysql