redo log

本文解释了Redolog在数据库事务管理中的作用,它记录事务操作,避免频繁磁盘I/O,通过日志组和内存缓冲区优化性能。redologblock和logbuffer是内存结构,而logfile负责持久化数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

:redo log是什么?拿来干嘛的?
现象:如果提交一个事务,就刷新一次磁盘。那么会存在如下问题:
1、单改一条记录,至少都是刷新一个页,造成大量的磁盘I/O浪费
2、随机I/O比连续I/O慢(就是一件一件衣服洗与一堆衣服洗)。且一个事务还可能涉及到索引的维护等等,等这些全部做完再提示事务提交成功,太慢了。
:将这些事务记录在redo log中(redo log刷盘到log file里),就提示事务提交成功
在这里插入图片描述
在这里插入图片描述

日志组

在这里插入图片描述
MTR:对底层页面进行一个原子性操作的过程(因为这个过程,形成了所谓的日志组)
事务---->n个 sql—>n个 MTR—>n个 redo log

redo log block(约等于buffer pool的page):存放redo log的内存页,512byte
在这里插入图片描述

log buffer(约等于buffer pool):被划分为若干个连续的redo log block,16MB

buf_free:空闲内存开始指针,告诉新的redo log进来放哪
在这里插入图片描述
在这里插入图片描述

buf_next_to_write:刷新指针,左边已经刷到磁盘上了,右边还没刷
在这里插入图片描述

log file

所以,同样,redo log也是先放到log buffer(内存)里,然后再刷到log file(磁盘)里
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值