数据库-MySQL面试题系列 004

bin log与undo log的区别?

1)redo log是InnoDB引擎特有的;binlog是MySQL的Server层实现 的,所有引擎都可以使⽤。

2)redo log是物理⽇志,记录的是“在XXX数据⻚上做了XXX修改”; binlog是逻辑⽇志,记录的是原始逻辑,其记录是对应的SQL语句。

  • 物理⽇志: 记录的是每⼀个page⻚中具体存储的值是多少,在这个数据 ⻚上做了什么修改. ⽐如: 某个事物将系统表空间中的第100个⻚⾯中偏 移量为1000处的那个字节的值1改为2
  • 逻辑⽇志: 记录的是每⼀个page⻚⾯中具体数据是怎么变动的,它会记 录⼀个变动的过程或SQL语句的逻辑, ⽐如: 把⼀个page⻚中的⼀个数据 从1改为2,再从2改为3,逻辑⽇志就会记录1->2,2->3这个数据变化的过 程.

3)redo log是循环写的,空间⼀定会⽤完,需要write pos和check point搭配;binlog是追加写,写到⼀定⼤⼩会切换到下⼀个,并不会覆盖 以前的⽇志

Redo Log ⽂件内容是以顺序循环的⽅式写⼊⽂件,写满时则回溯到第 ⼀个⽂件,进⾏覆盖写。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

code36

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值