首页 > 其他分享 >innodb是如何实现事务的

innodb是如何实现事务的

时间:2022-08-17 16:46:53浏览次数:75  
标签:语句 事务 Log buffer update 如何 innodb pool

innodb 通过buffer pool, logBuffer, Redo Log, Undo Log 来实现事务的, 以update语句举例:

  • innodb 在收到一个update语句后, 会先根据条件找到数据所在的页, 并将该页缓存在buffer pool中
  • 执行update语句, 修改buffer pool中的数据, 即内存中的数据
  • 针对update语句生成一个redoLog对象, 并存入LogBuffer中
  • 针对update语句生成undo Log日志, 用于事务回滚
  • 如果事务提交, 那么则把redo Log对象及逆行持久化, 后续还有其他机制将buffer pool中修改的数据页持久化到磁盘中
  • 如果事务回滚, 则利用undo log 日志进行回滚

本文转自:https://blog.csdn.net/weixin_44912855/article/details/119730455

标签:语句,事务,Log,buffer,update,如何,innodb,pool
From: https://www.cnblogs.com/nizuimeiabc1/p/16595758.html

相关文章

  • 面对国外品牌冲击,千亿国货是如何通过直播打造私域运营核心能力?
     国货护肤品牌林清轩这个成立于2003年的品牌,十几年来筚路蓝缕,直到2020年拿到数亿元A轮融资,不到10个月后又完成B轮融资,估值增长超过三倍。为了避免经销商扰乱价格、损害......
  • 关于在 debian 里被 network-tools 托管后如何重连 WIFI 的问题。
    ifconfig、ifup、ifdown三个命令。如果修改了/etc/wpa_supplicant/wpa_supplicant.conf后想重连wifi需要强制down了waln0后在ifup就行了。ifdownwlan0--for......
  • 如何提高遗传增益?
    目录遗传增益:年度遗传进展,即每年能够获得的遗传进展或产量改进。公式:R=_irσA/t_提高遗传增益的方法:提高选择强度_i_(降低入选率,即增大供选群体,减少入选个体数);创......
  • 如何查看一个docker容器占用空间的大小?
    你如果想要知道,一个运行起来的容器,占用了多少磁盘空间该怎么做呢? 方法很简单。 使用下面的命令dockerps-s  得到下面的结果: 没错SIZE列,就是容器占用......
  • 如何正确的中断线程?你的姿势是否正确
    Java停止线程的逻辑(协同、通知)在Java程序中,我们想要停止一个线程可以通过interrupt方法进行停止。但是当我们调用interrupt方法之后,它可能并不会立刻就会停止线程,而是通知......
  • 03 - 多线程之间如何实现通讯
    Java多线程之间如何实现通讯多个线程之间通过wait,notify通讯publicclassThread007{classRes{publicStringuserName;publiccharuserSex......
  • 如何削减伺服电机的发热
    伺服电机作为一种机械设备的施行元件在伺服体系中得到了广泛的运用。在咱们运用伺服驱动器的时分,因为对其构造和原理不是太了解,有时分会感遭到电机作业时有较大的发热景象,......
  • 如何绑定 Webhook 推送
    近几年Webhook在前后端对接的开发模式中变得越来越流行,我们能用事件描述的事物越多,Webhook的作用范围也就越大。Webhook作为一个轻量的事件处理应用,正变得越来越实用。......
  • 软件系统中如何保证数据的完整性
    信息系统中产生数据,修改数据,删除数据,查询数据,都要保证数据的完整性,一致性1.完整性数据的类型:字符串,数值,货币,时间,布尔等数据的长度:数据的存储空间数据的规则:身份证,手机......
  • 测试工程师应如何渡过互联网寒冬
    01测试行业现状-互联网寒冬对测试人员的影响继教育培训、社区团购领域大幅度裁员之后,互联网大厂裁员消息也开始陆续传出,百度爆出游戏部门300多人接近全部被裁,直播业务......