Memory management Informix-如何释放内存?

Memory management Informix-如何释放内存?,memory-management,informix,Memory Management,Informix,当我删除行时,这些行只被标记为删除,新数据可以保存在那里,但是有可能强制释放内存吗?怎么做?首先,我认为您真正担心的是磁盘空间而不是内存。被删除的行所使用的内存只是页面图像的一部分(如果行大小足够大,则为多个页面图像) 其次,实际上没有办法释放与行关联的磁盘空间。分配给区块的所有磁盘空间仍在使用中。它在创建行之前正在使用,在删除行后仍在使用。Informix处理分配 问题是什么?您不会因为删除的行而耗尽Informix内部或o/s级别的空间。如果要回收被删除行占用的存储空间,可以卸载表、删除表、

当我删除行时,这些行只被标记为删除,新数据可以保存在那里,但是有可能强制释放内存吗?怎么做?

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

其次,实际上没有办法释放与行关联的磁盘空间。分配给区块的所有磁盘空间仍在使用中。它在创建行之前正在使用,在删除行后仍在使用。Informix处理分配


问题是什么?您不会因为删除的行而耗尽Informix内部或o/s级别的空间。

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

根据您的Informix版本,您可以使用SQL管理API命令 用于存储优化和整合表中的可用空间

使用联机或脱机重新打包操作以及表收缩或碎片整理分区范围

V11.50或以上

•重新打包将行从分区的末尾移动到分区上端的空白页面空间

•收缩释放已清空回dbspace的扩展数据块

V12.10

•对表或索引进行碎片整理以合并非连续数据块

见:

《管理员指南》管理磁盘空间章节

管理员参考SQL管理API函数