源码分析 | 详解 binlog 时间戳与 exec_time 的关系

源码分析 | 详解 binlog 时间戳与 exec_time 的关系-1

作者:李锡超,苏商银行DBA,负责数据库和中间件运维和建设。擅长 MySQL、Python、Oracle,爱好骑行、技术研究和分享。

爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。

本文约 2000 字,预计阅读需要 8 分钟。

1概述

源码分析 | 详解 binlog 时间戳与 exec_time 的关系-每日运维

4. Write Event

源码分析 | 详解 binlog 时间戳与 exec_time 的关系-每日运维

5. Xid Event

源码分析 | 详解 binlog 时间戳与 exec_time 的关系-每日运维

6. 主节点小结

  • 除了 BEGIN Event 的 timestamp
    是第一个需要写入 binlog 操作(如:write/update/delete)的开始时间;
  • 其它 Event 的 timestamp
    为 SQL 语句执行时的开始时间;
  • immediate_commit_timestamp/original_commit_timestamp
    即为提交时的时间戳;
  • exec_time = A - B
    • A:执行第一个修改 SQL,完成第一行修改(write/update/delete)操作后,生成 BEGIN Event 的时间。
    • B:第一个修改 SQL 的开始执行时间(thd->start_time)