我有几个事务性表,它们在逻辑上放置了text,在MySQL中有一个blob列。经过一段时间后,在X天以上的行上不需要这些数据列。我需要尽可能的注意储存。这是在集群中具有有限本地和NFS存储空间的多个节点上进行的,因此将它们保持为不可行的文件是不可行的。
有两种明显的解决方案,这是确保释放blob表存储的更好(如果有的话)方法:
发布于 2012-03-06 08:12:34
我假设您的数据库中有InnoDB或NDB存储引擎。在这种情况下,默认情况下,在update/delete行或表(包括BLOB列)之后,您将不会返回磁盘空间。
解决这个问题的唯一办法是。设置
innodb_file_per_table=1在my.cnf中,您将为每个表拥有不同的文件。然后,第二种方法(在不需要时删除表)将恢复存储空间。
https://stackoverflow.com/questions/9579586
复制相似问题