2016-06-09 102 views

回答

1

首先,它真的是磁盘空间而不是你担心的内存,我想。被删除的行使用的内存只是页面图像的一部分(或者如果行大小足够大,则为多个页面图像)。

其次,没有真正的方法来释放与该行关联的磁盘空间。分配给该块的所有磁盘空间仍在使用中。该行在创建之前就已经在使用,并且在该行被删除后仍然在使用中。 Informix处理分配。

有什么问题?由于删除行,您不会在Informix内或O/S级别用尽空间。

0

如果要回收已删除行占用的存储空间,可以卸载表,删除表,重新创建表,将卸载的行加载到刚刚重新创建的空新表中,创建索引并更新表的统计信息。请注意,这也会优化表格以提高性能。

1

根据您的Informix版本,您可以使用SQL管理API命令 进行存储优化并合并表中的可用空间。

联机或脱机使用重新包装操作和表收缩或碎片整理分区盘区。

V11.50或以上

•重新包装从分区到当前分区中的上端的空页空间的端部移动时的行。

•收缩释放已清空回数据库空间的扩展数据块。

V12.10

•碎片整理的表或索引合并非连续区段。

参见:

管理员指南管理磁盘空间,章

管理员参考SQL管理API函数