原文: https://blog.csdn.net/weixin_38990431/article/details/89050101#9_449

2.2.2 重要日志模块 binlog

binlog是Server层的归档日志,没有crash-safe能力
两种日志的不同:
1.redo log是InnoDB引擎特有的;binlog是Server层实现的,所有引擎都可以使用
2.redo log是物理日志,记录的是 “在某个数据页上做了什么修改”;binlog是逻辑日志,记录的是这个语句的原始逻辑,比如 “给ID=2这一行的c字段加1”
3.redo log是 循环写的,空间固定会用完;binlog是 可以追加写入的。“追加写”是指binlog 文件写到一定大小后会切换到下一个,并不会覆盖以前的日志

2.3 Update语句内部流程

1.执行器先找引擎去ID=2这行,ID是主键,引擎用树搜索找到这行,如果内存存在数据,直接返回给执行器,否则需要先从磁盘读入内存,再返回
2.执行器拿到引擎给的行数据,将该值加上1,得到新的一行数据,再调用引擎接口写入这行新数据
3.引擎将这行新数据更新到内存,同时将更新操作记录到redo log,redo log处于prepare状态,然后告知执行器执行完了,随时可以提交事务。
4.执行器生成这个操作的binlog,并把binlog写入磁盘
5.执行器调用引擎的提交事务接口,引擎把刚刚写入的redo log改成提交(commit)状态,更新完成

redo log和binlog都可以用于表示事务的提交状态,而两阶段提交就是让这两个状态保持逻辑上的一致

转载于:https://www.cnblogs.com/wangdaijun/p/10963345.html

Mysql Update 流程摘抄相关推荐

  1. mysql update w3c_PHP MySQL Update

    PHP MySQL Update 对于 MySQL 数据库中的数据你可以根据需要进行更新! UPDATE 语句用于中修改数据库表中的数据. 更新数据库中的数据 UPDATE 语句用于更新数据库表中已存 ...

  2. mysql set 子表,mysql update set 更新表数据

    1.update ...set...where... 题目:修改students id=2的name为"yanxia" mysql>update  students  set ...

  3. PHP MySQL Update

    PHP MySQL Update UPDATE 语句用于中修改数据库表中的数据. 更新数据库中的数据 UPDATE 语句用于更新数据库表中已存在的记录. 语法 UPDATE table_name SE ...

  4. mysql菜鸟教程update_PHP MySQL Update

    PHP MySQL Update UPDATE 语句用于中修改数据库表中的数据. 更新数据库中的数据 UPDATE 语句用于更新数据库表中已存在的记录. 语法 UPDATE table_name SE ...

  5. mysql update delete_MySQL中UPDATE与DELETE语句的使用教程

    UPDATE 更新UPDATE SET 语法用于修改更新数据表中的数据. 语法: UPDATE tb_name SET column1 = new_value1,column2 = new_value ...

  6. mysql update中使用subquery

    首先,在mysql workbench内执行update时,缺省是使用安全更新模式的,如果在update sql内的where没有指定id等主键条件,会告警并推出执行.你可以关闭安全模式,执行如下语句 ...

  7. MySQL UPDATE 语句一个“经典”的坑

    转载自  MySQL UPDATE 语句一个"经典"的坑 来源:ju.outofmemory.cn/entry/336774 有问题的SQL语句 why? 倒回去再重试验一把 最近 ...

  8. mysql update 联合更新_Mysql update多表联合更新的方法小结

    下面我建两个表,并执行一系列sql语句,仔细观察sql执行后表中数据的变化,很容易就能理解多表联合更新的用法 student表 class表 1. 执行 UPDATE student s , clas ...

  9. mysql update修改数据_MySQL UPDATE:修改数据(更新数据)

    在 MySQL 中,可以使用 UPDATE 语句来修改.更新一个或多个表的数据. UPDATE 语句的基本语法 使用 UPDATE 语句修改单个表,语法格式为: UPDATE SET 字段 1=值 1 ...

最新文章

  1. 火狐浏览器mac_Firefox火狐浏览器73.0版本发布,有哪些期待已久的新功能?
  2. 强化学习和最优控制的《十个关键点》81页PPT汇总
  3. Spark _26_Spark On Hive的配置
  4. 实例51:python
  5. XSD(XML Schema Definition)学习笔记
  6. 《基于MFC的OpenGL编程》Part 14 Quadrics
  7. Halcon例程学习之距离变换(distance_transform)
  8. andriod 自定义来电界面功能
  9. python进行数值模拟代码_数值模拟方法
  10. android zip winrar,WinRAR Zip Unzip Archive
  11. Keytool命令详解
  12. R语言 —— 包(package)的下载和使用
  13. Verilog语言乒乓球机8段译码器
  14. 基于thinkphp开源cms 对比
  15. unctf2020部分wp
  16. 筑巢引凤 - 男人25后是蓝筹股
  17. Qt3升至Qt4需要注意的几件事项浅谈
  18. 计算机高特效吃鸡游戏主机配置单,吃鸡最高特效配置 万元i7-8700K/GTX1080Ti吃鸡特效全开配置 (全文)...
  19. “单向网闸”技术介绍
  20. java冒泡排序经典代码(Java冒泡排序)

热门文章

  1. 在WCF中启用事务的6个步骤
  2. 使用HTML5创建和播放声音
  3. native下拉图片放大 react_RN下拉图片放大 - Chason-洪的个人空间 - OSCHINA - 中文开源技术交流社区...
  4. python fortran混编 ctypes_关于python调用fortran编译的dll的问题
  5. 前端一些注意点 2021-05-26
  6. php在命令行下显示进度条,PHP命令行进度条
  7. c++ enum 给定类型_在 Rust 中创建 C/C++ API
  8. splunk采集linux日志,splunk日志监控利器
  9. bert 是单标签还是多标签 的分类_标签感知的文档表示用于多标签文本分类(EMNLP 2019)...
  10. linux 常见命令 cp,Linux 常用命令之cp,一个可以煮饭的工具;