transactionid(transactionidlentifier翻译)

http://www.itjxue.com  2023-02-09 17:49  来源:未知  点击次数: 

MYSQL的事务隔离级别,MVCC,readView和版本链小结

MVCC(Mutil-Version Concurrency Control),就是多版本并发控制。这种并发控制的方法,主要应用在RC和RR隔离级别的事务当中,利用执行select操作时,访问记录版本链,使得不同事物的读写,写读可以并发执行,提高系统性能。

Innodb 有两个隐藏字段 trx_id(事务id)和roll_pointer(回滚指针)。

transaction id :

innoDB里面每个事务有一个唯一的事务ID,叫作transaction id,它是在事务开始的时候向InnoDB的事务系统申请的,是按申请顺序严格递增的。

roll_pointer :

指向上一事务版本的指针。

版本链 :

是一个单链表结构,对于同一行数据,每一个事务对其进行更新的时候都会产生一个新的版本,就会存储在这个链表当中。

一个存储事务id的列表。

readview的几个参数:

m_ids:表示活跃事务id列表

min_trx_id:活跃事务中的最小事务id

max_trx_id:已创建的最大事务id

creator_trx_id:当前的事务id。

readview的生成时机:

RC隔离级别:每次读取数据前,都生成一个readview;

RR隔离级别:在第一次读取数据前,生成一个readview;

使用场景:

[ 创建事务节点 ] 当我创建一个新的事务需要读取一行数据, 我会查询活跃的事务列表; 假设我当前的事务id是200, 当前活跃的事务id没有我的200, 因此需要去拷贝一个最新的不活跃事务并在版本链最后插入一个新节点200; mysql会去对比版本链和readView, 假设版本链数据为[1,50,100,150], 活跃列表为[100,150], 说明100和150都是未提交的活跃事务, 再向前一个节点50不在活跃事务列表说明事务50已经提交, 所以事务200拷贝事务50并插入版本链最后, 且将200追加到readView活跃列表的最后一个元素

[ 使用事务节点 ] 当我再次进行200号事务的查询或修改, 我需要读版本链的数据, 因为上一次操作已经在版本链做了200号节点, 因此我读的数据都是200号节点的数据, 这样就隔离了其他未提交的事务; 我的全部增删查改都在200号版本链上进行

[ readView实现事务隔离级别 ]以上两点都是基于隔离级别"读已提交"来进行说明的; 当mysql设置为"可重复读"时, 不同事务仍然是保存在版本链的不同节点上, 只不过新的事务创建的时候拷贝了当下的readView列表, 只要新事物不提交就一直使用这个拷贝的活跃列表; 假设此时100号数据提交了, 我在新事务执行了select 会去查活跃列表发现100号事务还是未提交状态, 因此读取到的还是50号事务提交的记录。

原子性,一致性,隔离性,持久性。

未提交读(read uncommitted)、提交读(read committed)、可重复读(repeatable read)、序列化读(serializable)

苹果的transactionid会重吗

不会,根据查询苹果品牌相关资料显示,苹果的transactionid不会重。苹果公司是美国一家高科技公司,于1976年4月1日创立,并命名为美国苹果电脑公司,2007年1月9日更名为苹果公司,总部位于加利福尼亚州的库比蒂诺。

英语Current transaction ID怎么翻译?

Current transaction ID可以翻译成“当前事务ID。”

重点单词:transaction:英?[tr?n?z?k?(?)n]??美?[tr?n?z?k?n]?

n. 交易,买卖,业务;(学术团体会议的)议事录,公报;(人与人之间的)交流,相互影响;事务(元),事项

相关短语:

database transaction?数据库事务 ; 数据库事务处理 ; 数据库事件

forward transaction?远期交易 ;?[贸易]?期货交易 ; 远期外汇交易 ; 远期外汇买卖

transaction processing system交易处理系统 ; 事务处理系统 ; 处理系统 ; 事物处理处理系统

commercial transaction?买卖 ; 商业上的交易 ; 交易 ; 商业行为

双语例句:

The?exporter?can?enter?into?consignment?transaction.

出口商可做寄售交易。

(Online?purchases?can?be?made?by?setting?up?a?separate?transaction?code.

可以通过设置单独的交易代码进行在线购买。

The?EMV?solution?allowed?transactions?to?be?verified?locally?and?securely.

EMV解决方案允许在本地安全地验证事务。

英语Current transaction ID怎么翻译

Current transaction ID的中文翻译是当前事务ID

重点词汇:transaction

词语分析:

音标:英 [tr?n?z?k?n]? ?美 [tr?n?z?k?n]

n. 处理, 办理, 执行;(一笔)交易; (一项)事务

短语:

cash transaction 现金交易

commercial transaction 买卖,交易;商业行为

例句:

He left the transaction of the matter to his secretary.

他把这件事交给秘书办理。

Buying a house is an important transaction for most people.

买房子对大多数人来讲都是件重要的事。

He discussed business and concluded transactions with us on the spot.

他与我们谈判业务并当场成交。

近义词:

n. [贸易]交易;[计]事务;办理;会报,[图情]学报 relations,trade,truck

(责任编辑:IT教学网)

更多

相关编程综合文章

推荐编程综合文章