当前位置: 首页 > news >正文

PostgreSQL可见性映射VM

1.可见性映射

清理过程的代价高昂,为了减小清理的开销,在PostgreSQL 8.4版中引入了VM。

VM的基本概念很简单。 每个表都拥有各自的可见性映射,用于保存表文件中每个页面的可见性。 页面的可见性确定了每个页面是否包含死元组。清理过程可以跳过没有死元组的页面。清理过程为指定的表,或数据库中的所有表执行以下任务。

图1-1 VM的使用方式

2.改进的VM

因为它始终会扫描所有页面。尽管一个页中所有元组都被冻结,也会被扫描。

为了解决这一问题,9.6版本改进了可见性映射VM与冻结过程。新VM包含着每个页面中所有元组是否都已被冻结的信息。在迫切模式下进行冻结处理时,可以跳过仅包含冻结元组的页面。

图2-1 改进的VM

根据VM中的信息,冻结此表时会跳过第0页。在更新完1号页面后,相关的VM信息会被更新,因为该页中所有的元组都已经被冻结了。该伪码分为两大块:一块是依次处理表的循环,一块是后处理逻辑。而循环块又能分为三个部分,每一个部分都有各自的任务。接下来会描述这三个部分,以及后处理的逻辑。

相关文章:

  • 高性能编程相关
  • PHP会话技术
  • 运用fmpeg写一个背英文单词的demo带翻译
  • UE5.3 C++ 房屋管理系统(一)
  • 在线caj转换word
  • 机器人运动控制技术简介
  • Rust 官方文档:人话版翻译指南
  • 动态规划-62.不同路径-力扣(LeetCode)
  • YOLO目标检测算法
  • 大模型——Trae IDE 指南:轻松配置自定义 AI 规则 (Trae Rules)
  • OR算法+ML模型混合推理框架架构演进
  • 智慧农业运维平台养殖—传感器管理监控设计—仙盟创梦IDE
  • 英伟达Blackwell架构重构未来:AI算力革命背后的技术逻辑与产业变革
  • Typora+PicGo+Gitee图床配置教程 自动图片上传
  • k8s监控方案实践(二):集成Alertmanager告警与钉钉Webhook通知
  • 公开模型一切,优于DeepSeek-R1,英伟达开源Llama-Nemotron家族
  • RT-THREAD RTC组件中Alarm功能驱动完善
  • MindSpore框架学习项目-ResNet药物分类-构建模型
  • 卷积神经网络实战(4)代码详解
  • 把Excel数据文件导入到Oracle数据库
  • 印度一战机在巴基斯坦旁遮普省被击落,飞行员被俘
  • 异域拾异|大脚怪的形状:一项神秘社会学研究
  • 晋级中部非省会第一城,宜昌凭什么
  • 哥伦比亚总统称将在访华期间签署“一带一路”倡议意向书,外交部回应
  • 计划招录2577人,“国考”补录8日开始报名
  • 何立峰将访问瑞士、法国并举行中美经贸高层会谈、第十次中法高级别经济财金对话