解析MySQL二进制日志处理事务和非事务语句之间的区别
在事务语句执行过程中,服务器将执行额外处理。当服务器执行时,并行执行多个事务。为了将它们记录在一起,需要引入事务缓存的概念。当事务提交时,它被一起刷新到二进制日志中。处理非事务性语句。遵循以下3条规则:1)如果非事务性语句被标记为事务性,则将写入事务缓冲区。
2)如果未标记为事务语句,并且在事务缓存中没有,则直接写入二进制日志。
3)如果事务没有标记,但存在事务缓存,则写入事务缓冲区。
注意,如果事务中有非事务性语句,则将使用规则2将非事务表语句的影响排序到二进制日志中。