可见性映射(VM)
清理过程代价昂贵,因此pg在8.4版本以后引入了可见性映射VM,用于减少清理的开销。如图:
图中有三个页面,其中第0和第2页面包含死元组,而第一页不包含。表的可见性映射保存着哪些页面包含死元组的信息。这种情况下,清理过程可以参考VM,跳过第1个页面。
每个VM由一个或者多个8KB页面组成,文件后缀_vm保存。9.6版本以后vm有所加强,总结一下vm包含两种信息:
- 哪些页面包含死元组
- 页面中的元组是否全部被冻结
清理过程代价昂贵,因此pg在8.4版本以后引入了可见性映射VM,用于减少清理的开销。如图:
图中有三个页面,其中第0和第2页面包含死元组,而第一页不包含。表的可见性映射保存着哪些页面包含死元组的信息。这种情况下,清理过程可以参考VM,跳过第1个页面。
每个VM由一个或者多个8KB页面组成,文件后缀_vm保存。9.6版本以后vm有所加强,总结一下vm包含两种信息: