第一句子大全,网罗天下好句子,好文章尽在本站!

数据库面试题:redo log和binlog的区别 一条更新语句的执行过程

时间:2023-12-09

追加写是指binlog文件写到定大小后会切换到下个,并不会覆盖以前的日志 ;4 binlog可以作为恢复数据使用,主从复制搭建,redo log作为异常宕机或者介

友情提示:本文共有 650 个字,阅读大概需要 2 分钟。

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

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

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

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

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

条更新语句的执行过程

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

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

本文如果对你有帮助,请点赞收藏《数据库面试题:redo log和binlog的区别 一条更新语句的执行过程》,同时在此感谢原作者。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。
显示评论内容(6)
  1. 往莉2024-01-15 06:24往莉[内蒙古网友]203.18.110.24
    @太 保log和binlog在数据库的数据恢复和备份过程中扮演着至关重要的角色,也是面试中的热门话题。
    顶10踩0
  2. 太 保2024-01-09 02:20太 保[江西省网友]202.14.88.122
    很好的问题,这让我想起了在数据库课上学习的内容,redo
    顶7踩0
  3. o>_<o紫2024-01-02 22:16o>_[河北省网友]223.198.140.163
    log和binlog的区别,还要理解数据库引擎是如何执行事务和提交日志的。
    顶5踩0
  4. chzywtong2023-12-27 18:11chzywtong[浙江省网友]103.1.72.132
    看到这个问题就感觉自己的数据库基础不够扎实,更新语句的执行过程不仅要知道redo
    顶10踩0
  5. 奢小铱2023-12-21 14:07奢小铱[浙江省网友]203.22.76.213
    log是物理日志,记录的是数据页的物理修改,binlog是逻辑日志,记录的是逻辑修改,两者在恢复数据和备份恢复的过程中有不同的作用。
    顶0踩0
  6. 冷澈2023-12-15 10:03冷澈[吉林省网友]103.234.172.76
    这个问题经常被问到,redo
    顶6踩0
相关阅读
MySQL 中的 DML 语句执行流程!

MySQL 中的 DML 语句执行流程!

...的过程中,主要会涉及到两个日志——,而这两个日志是数据库 WAL (Write Ahead Logging,先写日志再写磁盘提高效率) 技术的两大主角。下面我来介绍一下这两个日志。redo log(重做日志)类型:数据页级别的,记录的是物理日志 (比如...

2022-12-30 #经典句子

《面试八股文》之 MySql 35卷

《面试八股文》之 MySql 35卷

...的 Sql 调优思路吧 1.说一说三大范式 「第一范式」:数据库中的字段具有「原子性」,不可再分,并且是单一职责 「第二范式」:「建立在第一范式的基础上」,第二范式要求数据库表中的每个实例或行必须「可以被惟一...

2012-07-17 #经典句子

软件常见英文词汇

软件常见英文词汇

...Settings:设置Update:更新Release:发布Data:数据Data Base:数据库DBMS:数据库管理系统View:视图Insert:插入Object:对象Configuration:配置Command:命令Document:文档Cursor:光标Attribute:属性Icon:图标Demo:演示Short Cut:快捷方式Debug:...

2013-04-08 #经典句子

万字长文 一篇吃透WebSocket:概念 原理 易错常识 动手实践

万字长文 一篇吃透WebSocket:概念 原理 易错常识 动手实践

...据。Blob(Binary Large Object)表示二进制类型的大对象。在数据库管理系统中,将二进制数据存储为一个单一个体的集合。Blob 通常是影像、声音或多媒体文件。在 JavaScript 中 Blob 类型的对象表示不可变的类似文件对象的原始数据...

2023-12-31 #经典句子

mysql慢查询语句分析总结

mysql慢查询语句分析总结

...当前用户host显示连接的客户端IP和端口db显示进程连接的数据库command显示当前连接的当前执行的状态,sleep、query、connecttime显示当前状态持续的时间(秒)state显示当前连接的sql语句的执行状态,copying to tmp table、sorting result、sending...

2022-12-21 #经典句子

分享一波mysql常用语句与命令

分享一波mysql常用语句与命令

...p|grep "my.cnf"4.查看软件版本mysqladmin -uroot -proot version5.查看数据库表锁状态show status like "table%";6.查看表的信息desc test;show create table test G;7.查看帮助文档? contents;? data types;? int;? show;? create table;8.查看表状态信息show table status like "emp"...

2023-07-17 #经典句子

别再瞎找资料了 这份MySQL基础语句你一定要收好

别再瞎找资料了 这份MySQL基础语句你一定要收好

本文来自牛鹭学院学员:范汉一创建数据库创建之前判断该数据库是否存在:if exists (select * from sysdatabases where name="databaseName")drop database databaseNamegoCreate DATABASE databasenameon primary-- 默认就属于primary文件组,可省略;(/*--数据文件的...

2023-06-07 #经典句子

卓象科技:使用Centos操作系统搭建项目时安装Mysql5.7版本的步骤

卓象科技:使用Centos操作系统搭建项目时安装Mysql5.7版本的步骤

...外乎要安装三项:web服务(apache或nginx)、语言(PHP)、数据库(Mysql),而我们开发主要在windows系统中开发,并且在windows系统中我们常用的都是集成环境,这意味着我们不需要分别去安装apahce、php以及数据库,如果我想在Centos...

2024-01-25 #大杂绘