MySQL【002】

本文介绍了SQL更新语句执行过程中的日志处理,包括清空查询缓存、RedoLog和Binlog的区别与作用。RedoLog是InnoDB引擎特有的物理日志,记录数据页的修改,而Binlog是逻辑日志,记录原始SQL语句。两者在持久化到磁盘的策略上有不同,确保数据安全。
摘要由CSDN通过智能技术生成

 

一、sql更新语句的过程

update语句会将所有的查询缓存都清空。

更新流程涉及两个重要的 日志模块: redo log(物理日志)、bin log(逻辑日志)

《孔乙己》九点老板粉板记赊账记录的概念。

1、不忙时,等不忙或打烊后再把粉板写到账本里

2、很忙,粉板写完后需要停下来,把粉板写到账本里,擦掉粉板,继续记账到粉板。

二、redo log和binlog的区别

        1、redo log是存储引擎层的日志。第三方公司以插件形式实现的,innoDB引擎独有特有的。 bin log是MySQL的Server层实现的,所有的存储引擎都能使用。

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

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

三、作用

redo log 的设置参数: innodb_flush_log_at_trx_commit = 1,时每次的记录都会持久化到本地磁盘。

        bin log设置sync_binlog=1时每次的日志也都会持久化到本地磁盘。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值