数据库

注册

 

发新话题 回复该主题

数据库面试题redolog和binlog [复制链接]

1#
北京白癜风医院 https://jbk.39.net/yiyuanfengcai/video_bjzkbdfyy/

数据库面试题:redolog和binlog的区别

1.redolog是InnoDB引擎特有的;binlog是MySQL的Server层实现的,所有引擎都可以使用;

2.redolog是物理日志,记录的是“在某个数据页上做了什么修改”;binlog是逻辑日志,记录的是这个语句的原始逻辑,比如“给ID=2这的c字段加1”;

3.redolog是循环写的,空间固定会用完;binlog是可以追加写的。“追加写”是指binlog文件写到定大小后会切换到下个,并不会覆盖以前的日志;

4.binlog可以作为恢复数据使用,主从复制搭建,redolog作为异常宕机或者介质故障后的数据恢复使用;

条更新语句的执行过程

常考的般是含有redolog的InnoDB引擎,所以我们主要说的是InnoDB的更新流程。这会涉及到两阶段提交的概念:

先按照上述步骤,分析SQL语句,然后拿到要修改的行执行器修改拿到的行,同时调用引擎把修改后的行写入表中a.引擎将这行数据更新到内存中,同时使redolog进入prepare状态b.告知执行器执行完毕,随时可以提交事物执行器生成操作的binlog,并写入磁盘执行器调用引擎的提交事物接口,引擎把刚才的redolog改成提交状态,更新完成以上就是小科今天整理提供的MySQL面试题,你记住并理解了吗?希望以上的内容能够为学习C++、MySQL的同学提供了有用的面试素材及学习素材,以后小科每日均会提供MySQL、Python及Web相关的习题,赶快学习起来吧。

分享 转发
TOP
发新话题 回复该主题