首页 > 其他分享 >Innodb实现事务流程

Innodb实现事务流程

时间:2023-04-24 11:11:18浏览次数:36  
标签:语句 事务 Buffer 流程 update Innodb Pool

Innodb通过Buffer Pool,LogBuffer,Redo Log,Undo Log来实现事务,以update语句为例:

  1. Innodb在收到update语句后,会先根据条件找到数据所在⻚,并将该⻚缓存在Buffer Pool
  2. 执⾏update语句,修改Buffer Pool中的数据
  3. 针对update语句⽣成⼀个RedoLog对象,并存⼊LogBuffer
  4. 针对update语句⽣成undolog⽇志,⽤于事务回滚
  5. 如果事务提交,那么则把RedoLog对象进⾏持久化,后续还有其他机制将Buffer Pool中所修改的数据⻚持久化到磁盘
  6. 如果事务回滚,则利⽤undolog⽇志进⾏回滚

标签:语句,事务,Buffer,流程,update,Innodb,Pool
From: https://www.cnblogs.com/xxhahn/p/17348834.html

相关文章

  • 抓交通肇事犯流程图及代码
    问题描述:一辆卡车违反交通规则,撞人后逃跑。现场有三人目击该事件,但都没有记住车号,只记下车号的一些特征。甲说:牌照的前两位数字是相同的;乙说:牌照的后两位数字是相同的,但与前两位不同;丙是数学家,他说:四位的车号刚好是一个整数的平方。请根据以上线索求出车号。设计思路:   ......
  • MySQL事务
    1.事务事务是指一个或者多个数据库操作,要么全部没有执行,要么全部成功执行。中途失败需要回滚到指定状态,全部执行成功需要确保持久保存在数据库中。事务拥有四个特性,习惯上被称之为ACID特性。 2.ACID特性为了更直观的解释ACID特性,下面先说明A,B,C之间互相转账的过程。......
  • spring的事务传播机制
    spring的事务传播机制嫌弃内容代码复杂的可直接看思维导图大纲即可基本概念指的就是当一个事务方法被另一个事务方法调用时,这个事务方法应该如何进行七种行为和测试PROPAGATION_REQUIRED默认,当前存在事务,则加入该事务;不存在事务,创建新事务。publicclassPropagationServi......
  • mysql select for update + 事务处理数据一致性
    如果SELECT后面若要UPDATE同一个表数据的相关操作,最好使用SELECT...FORUPDATE。一:举例说明假设商品表单test_leyangjun 内有一个存放商品库存的num字段,一个id主键 ,在生成订单前须先确定num>0 ,然后才把数量更新。代码如下(比如现在的库存:num=3对应的id=3,现在生成一个订单......
  • apisix网关使用自研插件流程
    1. 关于apisix网关插件apisix插件分为内置插件和自编插件,本文主要介绍使用自研插件的流程,内置插件使用方法参考官方文档内置插件官方文档:https://apisix.apache.org/zh/docs/apisix/plugins/batch-requests/2. 使用自研插件的实现步骤apisix支持多种语言自研插件,本文主要介......
  • SAP SD 基本业务流程
                  物料客户价格客户-物料列表/排斥 加库存 信用管理(ECC) 创建MM01BP/FLCU1/XD01VK11VD51VB01 物料凭证(库存)migo(561) 客户信用主数据fd32 修改MM02BP/FLCU2/XD02VK12VD52VB02......
  • 哈希类型 列表类型 集合类型 有序集合 慢查询 pipeline与事务 发布订阅 Bitmap位图 Hy
    昨日回顾#1redis介绍 -特性#速度快:10wops(每秒10w读写),数据存在内存中,c语言实现,单线程模型#持久化:rdb和aof#多种数据结构:5大数据结构BitMaps位图:布隆过滤器本质是字符串HyperLogLog:超小内存唯一值计数,12kbHyperLogLog本质是......
  • spring事务失效的12种场景
    1.方法访问权限问题,只支持public2.方法用final修饰,动态代理不能代理final方法3.方法内部调用,同一对象内调用没有使用代理,未被aop事务管理器控制4.未被spring管理5.多线程调用,事务管理内部使用threadLocal,不同线程间不在同一事务6.表不支持事务7.未配置事务事务不回滚8.错误的传播......
  • 软件开发工作总体流程图 、软件测试活动分布图、软件测试流程关系图
     软件测试的流程软件测试的流程一般要考虑3点:软件测试工作总体流程图、软件测试活动分布图和软件测试流程关系图。1.4.1软件开发工作总体流程图软件测试的流程图分为软件测试工作总体流程图、需求阶段测试工作流程图、设计与编码阶段测试工作流程图、集成测试和系统测试阶段工......
  • MyISAM 和 InnoDB 的区别
    MyISAM不支持事务,但是每次查询都是原子的;支持表级锁,每次操作是对整个表加锁;存储表的总行数;一个MYISAM表有三个文件:索引文件、表结构文件、数据文件;采用非聚集索引,索引文件的数据域存储指向数据文件的指针.辅索引与主索引基本一致,但是辅索引不用保证唯一性.Inno......