2016-02-10 55 views
1

在Oracle中,從表中刪除行時,不會清除在INSERT INTO操作之後爲數據分配的空間。相反,在DELETE FROM操作後,留下了一些「廢物空間」。那麼當我在DELETE FROM之後INSERT INTO - 會跨越這個「浪費空間」還是再次分配新空間?在刪除Oracle中的行之後重新使用空間

回答

1

the Oracle Concepts manual

默認情況下,表被組織成一個堆,這意味着 數據庫的地方,他們適合最好的,而不是在 用戶指定的順序排。因此,堆組織的表格是一組無序的行集合。當用戶添加行時,數據庫將數據段中的第一個可用空間放入 。行不是 保證按它們插入的順序檢索。

1

這是high water mark (HWM)的概念。

高水位標(HWM)

在段使用和未使用的空間之間的邊界。

托馬斯基特詳細解釋得很好here

標準Oracle表是一個堆組織表。這是一個表格,其行存儲在沒有特別的順序

如果你想索要免費空間,那麼你需要重組該表。