ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

mysql 三大日志

2022-09-13 20:35:14  阅读:214  来源: 互联网

标签:log Buffer undo mysql 日志 数据 三大 加载


undo log

undo log 记录数据被修改前的信息。

作用:防止丢失数据,用于事务失败后的回滚,Innodb 存储引擎的最大特点就是支持事务,如果本次更新失败,那么该事务中的所有的操作都必须回滚到执行前的样子,也就是说当事务失败的时候,也不会对原始数据有影响。

添加时机:在mysql将要更新的数据加载到缓冲区Buffer pool 时,同时往 undo 日志文件中插入一条数据初始状态记录的日志。

更新过程:

  1. 准备更新一条 SQL 语句
  2. MySQL(innodb)会先去缓冲池(BufferPool)中去查找这条数据,没找到就会去磁盘中查找,如果查找到就会将这条数据加载到缓冲池(BufferPool)中。
  3. 在加载到 Buffer Pool 的同时,会将这条数据的原始记录保存到 undo 日志文件中。
  4. 我们需要执行的 SQL 语句已经被加载到 Buffer Pool 中了,然后开始更新这条语句,更新的操作实际是在Buffer Pool中执行的。

 redo log

redo 记录的是数据修改之后的值,不管事务是否提交都会记录下来

标签:log,Buffer,undo,mysql,日志,数据,三大,加载
来源: https://www.cnblogs.com/china-golang/p/16690695.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有