开发者社区> 问答> 正文
1
0
分享

MVCC 机制在增删改查操作下怎么实现?

MVCC 机制在增删改查操作下怎么实现?

展开
收起
游客cum3jectrqmmy 2022-01-13 15:14:51 583 0
举报
1 条回答
写回答
取消 提交回答
  • 在可重复读隔离级别下,MVCC机制在增删改查操作下分别按照如下方式实现:

    1.当前操作是 select 操作时,InnoDB存储引擎只会查找版本号小于或者等于当前事务版本号的数据行,这样可以保证事务读取的数据行要么之前就巳经存在,要么是当前事 务自身插入或者修改的记录。另外,行的删除版本号要么未定义,要么大于当前事务的 版本号,这样可以保证事务读取的行在事务开始之前没有被删除。

    2.当前操作是 insert 操作时,将当前事务的版本号保存为当前行的创建版本号。

    3.当前操作是delete操作时,将当前事务的版本号保存为删除的数据行的删除版本号,作为行删除标识。

    4.当前操作是 update 操作时,InnoDB 存储引擎会将待修改的行复制为新的行,将当前事务的版本号保存为新数据行的创建版本号,同时保存当前事务的版本号为原来数据行 的删除版本号。

    资料来源:《深入理解分布式事务:原理与实战》,下载链接为:https://developer.aliyun.com/topic/download?id=8201。

    2022-01-13 19:13:06 举报
    赞同 评论 打赏

    评论

    全部评论 (0)

    登录后可评论
来源圈子
更多
收录在圈子:
阿里云开发者社区官方技术圈,用户产品功能发布、用户反馈收集等。
问答排行榜
最热
最新

相关电子书

更多
阿里云瑶池数据库解决方案合集-2024年版 立即下载
阿里云瑶池数据库产品手册 2024年版 立即下载
PolarDB-PG:数据库“0”改造,提升企业级应用能力 立即下载
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等