事务补充(8)
程序员文章站
2022-06-22 08:53:45
`MVCC` 在 里,有两个"视图"个概念 1. 一个是 ,它是一个用查询语句定义的虚拟表,在调用的时候执行查询语句并生成结果。 2. 另一个是 在实现 时用到的一致性读视图,即 ,用于支持 (`Read Committed RR Repeatable Read`,可重复读)隔离级别的实现。 里面每 ......
mvcc
在mysql
里,有两个"视图"个概念
- 一个是
view
,它是一个用查询语句定义的虚拟表,在调用的时候执行查询语句并生成结果。 - 另一个是
innodb
在实现mvcc
时用到的一致性读视图,即consistent read view
,用于支持rc
(read committed
,读提交)和rr
(repeatable read
,可重复读)隔离级别的实现。
innodb
里面每个事务有一个唯一的事务id
,叫做transaction id
,它是在事务开始的时候向innodb
的事务系统申请的,是按申请顺序严格递增的。
而每行数据也是有多个版本的。每次事务更新数据的时候,都会生成一个新的数据版本,并且把transaction id
赋值给这个数据版本的事务id
,记为row trx_id
。同时,旧的数据版本要保留,并且在新的数据版本中,能够有信息可以直接拿到它。也就是说,数据表中的一行记录,其实可能有多个版本(row
),每个版本有自己的row trx_id
。
下一篇: 记得结婚前的那些岁月……
推荐阅读
-
Mate 40首发 华为麒麟旗舰处理器预计8月交付:9月登场
-
仅10.8mm厚!长虹超薄8K电视CHiQ-Q8K发布:挂墙变贴墙
-
php smarty截取中文字符乱码问题?gb2312/utf-8_php模板_PHP
-
LVM 类型的 Storage Pool - 每天5分钟玩转 OpenStack(8)_PHP教程
-
首发6400万四摄!红米Note 8 Pro想买的抓紧了
-
Windows Phone笔记(8)页面间数据共享
-
《互联网观点》读后感 2015年互联网8个实用观点
-
一加电视配置曝光:55英寸QLED屏幕、8杜比扬声器
-
事务日志被填满的原因是什么?_MySQL
-
Java(4)2进制、8进制、10进制、16进制