2016-06-09 164 views

回答

1

首先,它真的是磁盤空間而不是你擔心的內存,我想。被刪除的行使用的內存只是頁面圖像的一部分(或者如果行大小足夠大,則爲多個頁面圖像)。

其次,沒有真正的方法來釋放與該行關聯的磁盤空間。分配給該塊的所有磁盤空間仍在使用中。該行在創建之前就已經在使用,並且在該行被刪除後仍然在使用中。 Informix處理分配。

有什麼問題?由於刪除行,您不會在Informix內或O/S級別用盡空間。

0

如果要回收已刪除行佔用的存儲空間,可以卸載表,刪除表,重新創建表,將卸載的行加載到剛剛重新創建的空新表中,創建索引並更新表的統計信息。請注意,這也會優化表格以提高性能。

1

根據您的Informix版本,您可以使用SQL管理API命令 進行存儲優化併合並表中的可用空間。

聯機或脫機使用重新包裝操作和表收縮或碎片整理分區盤區。

V11.50或以上

•重新包裝從分區到當前分區中的上端的空頁空間的端部移動時的行。

•收縮釋放已清空回數據庫空間的擴展數據塊。

V12.10

•碎片整理的表或索引合併非連續區段。

參見:

管理員指南管理磁盤空間,章

管理員參考SQL管理API函數