解析MySQL二进制日志处理事务与非事务性语句的区别

2022-11-12 09:28:23
内容摘要
这篇文章主要为大家详细介绍了解析MySQL二进制日志处理事务与非事务性语句的区别,具有一定的参考价值,可以用来参考一下。 对此感兴趣的朋友,看看idc笔记做的技术笔记! 在事务
文章正文

这篇文章主要为大家详细介绍了解析MySQL二进制日志处理事务与非事务性语句的区别,具有一定的参考价值,可以用来参考一下。

对此感兴趣的朋友,看看idc笔记做的技术笔记!

在事务性语句执行过程中,服务器将会进行额外的处理,在服务器执行时多个事务是并行执行的,为了把他们的记录在一起,需要引入事务缓存的概念。在事务完成被提交的时候一同刷新到二进制日志。对于非事务性语句的处理。遵循以下3条规则:

1)如果非事务性语句被标记为事务性,那么将被写入事务缓冲。

2)如果没有标记为事务性语句,而且事务缓存中没有,那么直接写入二进制日志。

3)如果没有标记为事务性的,但是事务缓存中有,那么写入事务缓冲。

注意如果在一个事务中有非事务性语句,那么将会利用规则2,优先将该影响非事务表语句直接写入二进制日志。

注:关于解析MySQL二进制日志处理事务与非事务性语句的区别的内容就先介绍到这里,更多相关文章的可以留意

代码注释

作者:喵哥笔记

IDC笔记

学的不仅是技术,更是梦想!