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)

相关推荐

  • java中的hashcode怎么重写(java 无参方法中显示各属性的信息)

    技术java Object的hashCode方法怎么使用这篇文章主要讲解了“java Object的hashCode方法怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学

    攻略 2021年12月22日
  • 农村医保网上如何缴费,怎么在网上给农村合作医疗缴费

    技术农村医保网上如何缴费,怎么在网上给农村合作医疗缴费可以用建设银行APP农村医保网上如何缴费,登录医保缴费,进行缴纳。1、打开建设银行APP,点击页面左上角箭头指的的地方。登录个人账户。2、点击右下角“悦享生活”。3、

    生活 2021年10月30日
  • mysql中too many files问题open_files_limit值更改无效怎么办

    技术mysql中too many files问题open_files_limit值更改无效怎么办小编给大家分享一下mysql中too many files问题open_files_limit值更改无效怎么办,希望大家阅读

    攻略 2021年11月6日
  • CSS3的私有前缀有哪些

    技术CSS3的私有前缀有哪些这篇文章主要介绍“CSS3的私有前缀有哪些”,在日常操作中,相信很多人在CSS3的私有前缀有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”CSS3的私有前缀

    攻略 2021年11月5日
  • 数据库的语句应该如何优化

    技术数据库的语句应该如何优化这篇文章主要介绍了数据库的语句应该如何优化,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。  在MySQL数据库怎么加快查询速度

    攻略 2021年10月26日
  • utf8转ansi编码在线转换(ansi转utf8在线)

    技术如何解决KEIL编译器的UTF-8和ANSI的转换问题这期内容当中小编将会给大家带来有关如何解决KEIL编译器的UTF-8和ANSI的转换问题,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有

    攻略 2021年12月23日