我有几个事务表,在MySQL中有一个逻辑上放置的text
和一个blob
列。一段时间后,超过X天的行不需要这些数据列。我需要尽可能地保持存储感知。这是在群集中具有有限本地和NFS存储的多个节点上,因此将它们保留为不可行的文件。
两个明显的解决方案,即确保释放blob表存储的更好(如果有)方法:
保持良好的架构形式,我不希望每个事务表都有一个blob表,以保持事务键独立,我不希望在一个blob表中有关联/智能/复合键
哪种机制最适合MySQL中的时间blob存储?
答案 0 :(得分:1)
我假设您的数据库中有InnoDB或NDB存储引擎。在这种情况下,默认情况下,在更新/删除行或表(包括BLOB列)之后,永远不会回放磁盘空间。
只有办法解决问题。设置
innodb_file_per_table=1
my.cnf
中的,每个表都有单独的文件。然后,第二种方式(不需要时删除表)将恢复存储空间。