当前位置: 首页 > news >正文

网站验收模版网站开发技术架构

网站验收模版,网站开发技术架构,温州建设集团网站,建站收入MVCC 如何保证事务的隔离性? 1.排他锁:如一个事务获取了一个数据行的排他锁,其他事务就不能再获取改行的其他锁。 2.MVCC:多版本并发控制。 MVCC: 1.隐藏字段 1.DB_TRX_ID:最近修改事务的id。默认值从0开…

 MVCC


如何保证事务的隔离性?

1.排他锁:如一个事务获取了一个数据行的排他锁,其他事务就不能再获取改行的其他锁。

2.MVCC:多版本并发控制。

58c8c1d5224e4dc39460b7d8acbdd2b5.png

MVCC:

30c39da925854364b6c6a7110ce0493f.png

1.隐藏字段

d1562e911d084c8487736cc3614411ff.png

1.DB_TRX_ID:最近修改事务的id。默认值从0开始,每次被修改自增1。也就是说每有一个事务修改了当前数据,这条数据的该字段就会自增1。(从而实现记录最近''修改事务''的id)

2.DB_ROLL_PTR:回滚指针。举个例子:对于这里id为1的数据,进行了三次修改。DB_TRX_ID就是3。但是,.DB_ROLL_PTR记录的是该行数据第一次修改时的版本。也就是第一次修改的事务id -> 1。这样后面配合undo log就知道回滚到上一个版本(就是三次修改前的版本)。

3.DB_ROW_ID:隐藏主键。当前表指定了主键,该字段就没啥意义了。

2.undo log

37d03c9e515c437d9c4a19f4f4d999c1.png

undo log版本链

32139e37ffb347e6a8b5284f9868fe92.png

这里每有一个事务修改当前行数据,就像链表中的尾插法一样,插入一个节点。

3.readView

a4f50feb25ee406ca1e3912c882ad0ff.png

RC (读提交):

        在RC隔离级别下,事务在执行每次读取操作时都会生成一个新的读视图(Read View)。这意味着每个读取操作都会基于当前活跃的事务ID(即未提交的事务)来构建一个一致性视图。因此,在RC隔离级别下,事务可能看到其他事务提交的更新,但这些更新必须是当前事务开始读取操作时已经存在的。换句话说,RC隔离级别允许不可重复读,即在一个事务中多次读取相同的记录可能会得到不同的结果,因为它可能看到了其他事务提交的更新。

RR (可重复读):

        相比之下,在RR隔离级别下,事务在启动时会创建一个读视图,并在整个事务的生命周期内保持不变。这意味着一旦事务开始,它将看到所有已经提交的记录的稳定视图,直到事务结束。在RR隔离级别下,即使其他事务在当前事务执行期间提交了更新,当前事务也不会看到这些变化,因为它已经有了一个稳定的数据快照。因此,RR隔离级别提供了可重复读的保证,即在一个事务中多次读取相同的记录将会得到相同的结果。

06e392b2e69144e192439beb39564d92.png

举个例子:现在是事务5执行第一条查询sql。

m_ids (当前活跃的事务):3、4、5(事务2已提交)

min_trx_id:3 (3、4、5中最小的id)

max_trx_id:6 (5+1)

creator_trx_id:5 (当前事务5做了查询,ReadView由事务5创建)

版本链数据访问规则:

0f8f198e887a42629821b9529f9e40b0.png

RC级别下的访问:

3c18e6d4e87f45a0a1dcc1142dd1ae78.png

在这个例子中:根据版本链数据访问规则事务5第一个sql对应的查询结构是事务2修改后的数据。原因:根据版本链从最新事务4开始比较。

此时:creator_trx_id = 5;min_trx_id = 3;max_trx_id = 6

4所有条件都不满足,事务3也都不满足。只有事务2满足:trx_id (2) < min_trx_id(3)。

同理,对于事务5第二条查询,也能得到结果。第二条sql查询的是事务3修改后的数据。

RR级别下的访问:

dc62ddd27faf44489a488093ca4f000d.png

由于RR多次查询,都只生成最初的一个视图。因此我们只需要搞明白第一个视图的查询结果。同上方法可知,这里也是查询到事务2修改后的数据。

总结:

1077a64480b64acc9430506402922349.png

http://www.yayakq.cn/news/83199/

相关文章:

  • 商城网站功能列表wordpress 用户表
  • 网站被黑wordpress 插件发文章
  • 太原网站建设方案优化完整网站设计
  • 网站建设内容策划鹿泉网站制作公司
  • 盐城有没有做网站吗html网站标题怎么做的
  • 网站建设教程学校免费自助建站系统大全
  • 网站建设相关制度网站建设公司业务提成多少
  • 网站免费正能量软件不良宣传策划方案模板
  • 女生做网站编辑好不好可以做ppt的网站有哪些方面
  • 麻涌镇网站仿做php网站开发主要做什么
  • 网站建设专业吗广告公司怎么做业务
  • h5网站作用营销型公司网站
  • 网站营销的定义企业名录2020企业黄页
  • 工商银行建设银行招商银行网站天津网站优化公司电话
  • 建设银行英文网站破解wordpress
  • 做旅游网站的数据怎么来外贸联系网站
  • 石家庄物流网站建设wordpress 外部链接插件
  • 贵州建设监督管理局网站设计logo的软件有哪些
  • 域名注册了如何做网站网站积分的作用
  • 域名 就一个网站六安杂谈
  • 给客户做非法网站山东省住房和城乡建设厅二建查询
  • 上海网站建设定制公司具有价值的建网站
  • 如何做网站导航栏wordpress摘要字数的插件
  • 常德政务网站赤峰建网站的电话
  • 企业年报查询网站北京外包公司有哪些
  • 织梦万网网站搬家教程wordpress 友链
  • 湖北建设网官方网站网站套程序
  • 1g内存的服务器可以建设几个网站网络营销的名词解释是什么
  • 如何建设门户网站盈佳国际天天做赢家网站
  • 商务网站如何推广免费优化网站的软件