1. 程式人生 > >深入理解資料庫磁碟儲存(Disk Storage)

深入理解資料庫磁碟儲存(Disk Storage)

行遷移 (Row Migrating) :資料塊中存在一條記錄,使用者執行 UPDATE 更新這條記錄,這個 UPDATE 操作使這條記錄變長,這時候, Oracle 在這個資料塊中進行查詢,但是找不到能夠容納下這條記錄的空間,無奈之下, Oracle 只能把整行資料移到一個新的資料塊。原來的資料塊中保留一個“指標”,這個“ 指標”指向新的資料塊。被移動的這條記錄的 ROWID 保持不變。   PCTFREE和PCTUSED
PCTFREE 引數用於指定塊中必須保留的最小空閒空間百分例。之所以要預留這樣的空間,是因為 UPDATE 時,需要這些空間。如果 UPDATE 時,沒有空餘空間, Oracle 就會分配一個新的塊,這會產生行遷移( Row Migrating ),進行空間預留能夠一定程度上保證資料庫訪問效率。
PCTUSED 也是用於設定一個百分比,當塊中已使用的空間的比例小於這個百分比的時候,這個塊才被標識為有效狀態。只有有效的塊才被允許插入資料。