块从第二级存储器移到内存中时,将数据库地址空间转换为虚拟地址空间。
因此一个指针包含:
1)一个二进制位,指明指针目前是数据库地址还是混写的内存地址
ii)数据库或内存指针
混写指针的策略:根据混写指针的时机
-自动混写
-按需混写
-显式控制
什么是自动混写?
块读入内存,即为它的所有指针和地址定位。
如果地址A已存在于转换表中,则用相应的内存地址代替刚移进内存中的块中的A,并将"混写"位置。如果A不在转换表中,仍保持为数据库指针检索至指针A时,如果其为数据库指针,则查找转换表,看数据库地址A当前是否有相应的内存地址,有则代替.没有,则将相应块读入内存缓冲区,并用相应内存地址代替A(混写),同时将其放入转换表。
自动混写的特点
当块被装载进内存时,即试图快速,有效地混写所有指针.一次混写所有可混写的指针,可能会节省时间其中一些指针可能永远无用,因而浪费时间。
什么是按需混写?
一个块刚读入内存时,所有指针都保持原样,不混写,但将该块记录的数据库地址与相应的内存地址放入转换表。
检索至某个指针A时,将其混写。
按需混写的特点
一个块中的指针需要分次混写,可能会浪费时间不需要的指针不必混写,因而能够节约时间。
什么是显式控制?
某些应用中,应用程序员可能会知道是否会沿某个块中的指针进行检索,因而可由程序员显式控制。