PostgreSQL中Tuple可见性判断分析

技术PostgreSQL中Tuple可见性判断分析本篇内容主要讲解“PostgreSQL中Tuple可见性判断分析”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Postgre

本文主要讲解“PostgreSQL中Tuple可见性判断分析”,感兴趣的朋友不妨看一下。本文介绍的方法简单、快速、实用。让边肖带你学习“PostgreSQL中Tuple可见性的判断与分析”!

一、xmin/xmax是当前事务

Tuple.xmin或xmax为当前交易的情况,交易状态为IN_PROGRESS,其判断逻辑如下:插入未提交.

如果xmin==当前事务,则

如果xmax==当前事务,则

元组是不可见的

其他

元组可见

如果…就会结束

如果…就会结束

以下示例显示了:

15:40:39(xdb @[本地]:5432)testdb=#

15:40:40(xdb @[local]:5432)testdb=# begin;

开始

15:40:44(xdb @[local]:5432)testdb=# * insertintot _ session 1 values(1);

INSERT01

15:40:52(xdb @[local]:5432)testdb=# * updatet _ session 1 setid=0;

更新1

15:41:02(xdb @[local]:5432)testdb=# * selectlp,lp_off,t_xmin,t _ xmax from heap _ page _ items(get _ raw _ page(' t _ session 1 ',0));

lp|lp_off|t_xmin|t_xmax

- - - -

1 | 8160 | 2370 | 2370-2370插入数据,2370更新数据,元组是不可见的。

2 | 8128 | 2370 | 0-2370更新数据,元组可见。

插入已提交

如果xmax==当前事务,则

元组是不可见的

如果…就会结束

15:41:11(xdb @[local]:5432)testdb=# * delete from _ session 1;

删除1

15:41:36(xdb @[local]:5432)testdb=# * selectlp,lp_off,t_xmin,t _ xmax from heap _ page _ items(get _ raw _ page(' t _ session 1 ',0));

lp|lp_off|t_xmin|t_xmax

- - - -

1 | 8160 | 2370 | 2370-2370更新此元组,它不可见。

2 | 8128 | 2370 | 2370-2370删除此元组,它不可见。

(2条线)

15:41:38(xdb @[local]:5432)testdb=# * commit;

COMMIT note :在这种情况下(xmax==当前事务),xmin状态不能被中止,因为不可能更新/删除不存在的元组(未提交的事务可以视为不存在)。

00-1010xmin和xmax不是当前事务,假设快照为st1:st23360xip [],其判断逻辑如下:

如果圣诞节。状态==已提交,然后

If xmax ST1 xmax。状态==已提交,然后

元组是不可见的

如果xmax XIP[] xmax。状态==已提交,然后

元组是不可见的

其他

元组可见

如果…就会结束

其他

元组是不可见的

如果…就会结束

至此,相信大家对“PostgreSQL中Tuple可见性判断与分析”有了更深的理解,让我们一起来实践吧!这是网站。更多相关内容,可以去相关渠道查询,关注我们,继续学习!

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/78651.html

(0)

相关推荐

  • ArrayList扩容机制

    技术ArrayList扩容机制 ArrayList扩容机制写在前面
    数据结构在面试中基本都是常问的,但是一般开发中基本上都是在使用没有去关心过怎么实现的。
    在数据结构中,链表是一种线性存储结构,也就是常

    礼包 2021年11月25日
  • 分析CSS动画Transition与Animation

    技术分析CSS动画Transition与Animation本篇内容主要讲解“分析CSS动画Transition与Animation”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习

    攻略 2021年11月6日
  • MySQL中MERGE表的优缺点有哪些

    技术MySQL中MERGE表的优缺点有哪些这篇文章将为大家详细讲解有关MySQL中MERGE表的优缺点有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。MERGE表的优点:1.简单管

    攻略 2021年11月1日
  • 苏轼是哪个朝代,水调歌头苏轼什么朝代什么意思

    技术苏轼是哪个朝代,水调歌头苏轼什么朝代什么意思手足之情甚笃,“转朱阁”,此事古难全”三句,谓月光照着有离愁别恨的人,即量移汝州,现在想随风回到天上神仙住的‘琼楼玉宇’中去。同时这也就是儒家“无人不自得”的思想、胸怀坦荡

    生活 2021年10月25日
  • 拉勾大前端高薪训练营全2021

    技术拉勾大前端高薪训练营全2021 拉勾大前端高薪训练营全2021(10).支持let与const在之前JS是没有块级作用域的,const与let填补了这方便的空白,const与let都是块级作用域。

    礼包 2021年11月1日
  • 快速建站选择台湾云服务器有什么好处

    技术快速建站选择台湾云服务器有什么好处很多新站长对于租用服务器应该选择什么样的海外服务器还是比较困惑的,尤其是目前市面上的除了物理服务器、云服务器、VPS的平台区别之外,对于哪个地区的机房更合适也有不了解的地方,就最近各

    礼包 2021年10月30日