Mysql查询似乎已执行,没有明显的磁盘影响

时间:2013-07-16 20:28:42

标签: mysql

我在mysql innodb数据库上运行了以下命令,并且惊讶地注意到磁盘使用没有变化,尽管这些列包含大约150gb的longtext形式的数据。

update incidents set xml = NULL;

数据库以前存储了非常大的原始xml文件,而不是指向存储在磁盘上的文件副本的指针。不,将许多大文件直接存储在数据库中的不良做法与我的问题无关。

我想知道的是,在执行命令之后数据似乎仍然占用磁盘空间的原因我希望将列中的所有值设置为null,从而擦除数据库中的旧数据。是的,我知道drop命令可能更适合我需要的东西,但目前我只是想了解为什么上面的命令没有按照我预期的方式运行。

1 个答案:

答案 0 :(得分:1)

在这种情况下,MySQL不会自动释放字段中占用的空间。有关详细信息,请参阅http://forums.mysql.com/read.php?35,121880,121886