指針混寫(point switzz)的概念
‍塊從第二級存儲器移到記憶體中時,將資料庫地址空間轉換為虛擬地址空間。
因此一個指針包含:
1)一個二進制位,指明指針目前是資料庫地址還是混寫的記憶體地址
ii)資料庫或記憶體指針
混寫策略
混寫指針的策略:根據混寫指針的時機
-自動混寫
-按需混寫
-顯式控制
自動混寫
什麼是自動混寫?
塊讀入記憶體,即為它的所有指針和地址定位。
如果地址A已存在於轉換表中,則用相應的記憶體地址代替剛移進記憶體中的塊中的A,並將"混寫"位置。如果A不在轉換表中,仍保持為資料庫指針檢索至指針A時,如果其為資料庫指針,則查找轉換表,看資料庫地址A當前是否有相應的記憶體地址,有則代替.沒有,則將相應塊讀入記憶體緩衝區,並用相應記憶體地址代替A(混寫),同時將其放入轉換表。
自動混寫的特點
當塊被裝載進記憶體時,即試圖快速,有效地混寫所有指針.一次混寫所有可混寫的指針,可能會節省時間其中一些指針可能永遠無用,因而浪費時間。
按需混寫
什麼是按需混寫?
一個塊剛讀入記憶體時,所有指針都保持原樣,不混寫,但將該塊記錄的資料庫地址與相應的記憶體地址放入轉換表。
檢索至某個指針A時,將其混寫。
按需混寫的特點
一個塊中的指針需要分次混寫,可能會浪費時間不需要的指針不必混寫,因而能夠節約時間。
顯式控制
什麼是顯式控制?
某些套用中,應用程式員可能會知道是否會沿某個塊中的指針進行檢索,因而可由程式設計師顯式控制。