PostgreSQL中Tuple可见性判断分析
发表于:2024-09-22 作者:千家信息网编辑
千家信息网最后更新 2024年09月22日,本篇内容主要讲解"PostgreSQL中Tuple可见性判断分析",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"PostgreSQL中Tuple可见性判断分
千家信息网最后更新 2024年09月22日PostgreSQL中Tuple可见性判断分析
本篇内容主要讲解"PostgreSQL中Tuple可见性判断分析",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"PostgreSQL中Tuple可见性判断分析"吧!
一、xmin/xmax是当前事务
Tuple.xmin或xmax是当前事务的情况,事务状态为IN_PROGRESS,其判断逻辑如下:
插入未提交
If xmin == 当前事务 Then
If xmax == 当前事务 Then
元组不可见
Else
元组可见
End If
End If
如下例所示:
15:40:39 (xdb@[local]:5432)testdb=# 15:40:40 (xdb@[local]:5432)testdb=# begin;BEGIN15:40:44 (xdb@[local]:5432)testdb=#* insert into t_session1 values(1);INSERT 0 115:40:52 (xdb@[local]:5432)testdb=#* update t_session1 set id = 0;UPDATE 115:41:02 (xdb@[local]:5432)testdb=#* select lp,lp_off,t_xmin,t_xmax from heap_page_items(get_raw_page('t_session1',0)); lp | lp_off | t_xmin | t_xmax ----+--------+--------+-------- 1 | 8160 | 2370 | 2370 --> 2370插入数据,2370更新数据,该Tuple不可见 2 | 8128 | 2370 | 0 --> 2370更新后的数据,该Tuple可见(2 rows)
插入已提交
If xmax == 当前事务 Then
元组不可见
End If
15:41:11 (xdb@[local]:5432)testdb=#* delete from t_session1;DELETE 115:41:36 (xdb@[local]:5432)testdb=#* select lp,lp_off,t_xmin,t_xmax from heap_page_items(get_raw_page('t_session1',0)); lp | lp_off | t_xmin | t_xmax ----+--------+--------+-------- 1 | 8160 | 2370 | 2370 --> 2370更新该Tuple,不可见 2 | 8128 | 2370 | 2370 --> 2370删除该Tuple,不可见(2 rows)15:41:38 (xdb@[local]:5432)testdb=#* commit;COMMIT
注意:在这种情况下(xmax == 当前事务),xmin状态不可能是ABORTED,因为不可能Update/Delete不存在的元组(事务未提交可视为不存在).
二、xmin&xmax非当前事务
xmin和xmax均不是当前事务,假定快照为ST1:ST2:XIP[],其判断逻辑如下:
If xmin.STATUS == COMMITTED Then
If xmax < ST1 && xmax.STATUS == COMMITTED Then
元组不可见
If xmax ∉ XIP[] && xmax.STATUS == COMMITTED Then
元组不可见
Else
元组可见
End If
Else
元组不可见
End If
到此,相信大家对"PostgreSQL中Tuple可见性判断分析"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
事务
分析
数据
更新
内容
情况
状态
逻辑
学习
实用
更深
兴趣
实用性
实际
快照
操作简单
方法
更多
朋友
网站
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
河北蓝牙软件开发
网络安全的童谣怎么写
网络安全执法专业警察
剑灵电信哪个服务器人多
南京软件开发有哪些公司
sql局域网无法访问数据库
识别软件开发招标文件
总结无线传感器网络技术
网络技术cityofd
数据库中事务
access数据库二级题目
中国互联网沙龙网络安全专场
网络安全渗透题目在线
启动网络安全审查什么意思
网上卖网络技术
软件开发绘图用什么工具
windowsftp服务器架设
泰拉瑞亚软核服务器ip地址
系统服务器停机时间8.5小时
图数据库 种类
所谓网络安全漏洞
软件开发基盘
网络安全 人民日报
河北大学网络安全专业导师
方舟开启专用服务器
东南大学转网络安全专业
外校数据库
计算机网络技术是学的什么
淘宝自动发货怎么挂代理服务器
数据库服务创建失败怎么回事