原子性保证一个事务为小单元不可分割mysql-acid mvcc事物隔离级别.pdfVIP

原子性保证一个事务为小单元不可分割mysql-acid mvcc事物隔离级别.pdf

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

MySQLacid

A:原子性保证一个事务为一个最小的单元,不可分割。

C:一致性保证事务中的每个操作线程不可单独提交,成功则一起提交,不成功则事务

回滚;

I:性保证不同事务间看到的数据视图相互独立,相互。[提交读(read

committed)和repeatableread(默认)]这两个事物级别的差别,就是当一个事物开

始的时候,始终的信息是开始事物的那一刻的数据快照。这样的级别叫repeatable

read,提交读就撒始终的是的数据。其他两个叫未提交读(READ

UNCOMMITTED)和SERIALIZABLE(可串行化)用的非常少,其中可串行化这个还使用

其他的NoSQL队列来代替。

D:持久性保证事务提交后数据会持久的保存下来.

Mysql的事务引擎Innodb加锁机制叫多版本并发控制(MVCC)技术以便应对更

高的并发,当然是以消耗性能作为代价。简单实现方式如下:

InnoDB实现MVCC的方法是,它了每一行的两个(1)额外的隐藏字段,这两个隐

藏字段分别记录了行的创建的时间和删除的时间。在每个发生的时候,每行版本号,

而不是实际发生的时间。每次事物的开始这个版本号都会增加。自记录时间开始,

每个事物都会保存记录的系统版本号。依照事物的版本来检查每行的版本号。在事物级

别为可重复读的情况下,来看看怎样应用它。

SELECT

Innodb检查没行数据,确保他们符合两个标准:

1、InnoDB只查找版本早于当前事务版本的数据行(也就是数据行的版本必须

小于等于事务的版本),这确保当前事务的行都是事务之前已经存在的,

或者是由当前事务创建或修改的行

2、行的删除操作的版本一定是未定义的或者大于当前事务的版本号。确定了当

前事务开始之前,行没有被删除(2)符合了以上两点则返回查询结果。

INSERT

InnoDB为每个新增行记录当前系统版本号作为创建ID。

DELETE

InnoDB为每个删除行的记录当前系统版本号作为行的删除ID。

UPDATE

InnoDB了一行。这个新行的版本号使用了系统版本号。它也把系统版本号作为了删除

行的版本。

(1)不是两个,是三个。1DB_TRX_ID:一个6byte的标识,每处理一个事务,其值自动

+1,上述说到的“创建时间”和“删除时间”记录的就是这个DB_TRX_ID的值,如insert、

update、delete操作时,删除操作用1个bit表示。DB_TRX_ID是最重要的一个,可以

通过语句“showengineinnodbstatus”来查找。

文档评论(0)

王子 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档