binlog事务时间戳记录的时间

BD没有疑问,A和E选哪个合适?官方文档也找到答案

tidb只有ROW格式

选项 A :事务的开始时间和提交时间戳都会被记录。

错误 。TiDB 的 Binlog 主要记录的是数据变更操作(如 INSERT、UPDATE、DELETE),并不强制记录事务的开始和提交时间戳。虽然部分日志可能包含时间信息,但这不是其核心设计目标或默认行为。因此,该描述不符合 TiDB Binlog 的实际特性

选项 E :对于 delete 多行的操作,TiDB 数据库的 Binlog 只记录 SQL 语句,目的是为了传输带宽。

错误 。TiDB Binlog 会记录 DELETE 操作的具体行数据变更(以 Row Format 或 Statement Format),并非“只记录 SQL 语句”。且其目的不是为了“节省传输带宽”,而是为了精确还原数据状态。在 Row Format 下,会记录被删除的行内容;在 Statement Format 下,记录 SQL 语句。但“只记录 SQL 语句”不是 TiDB 的默认行为,且“为了传输带宽”也不是其设计初衷。因此该描述错误

应该就是BDE

所以这个题目本身就有问题吗?我看一些文章里也写的是只记录事务提交时间

E这个我也不确定,如果是ROW格式不可能会记录语句

我感觉应该选BCE吧

我看的是6.5的文档,这块内容介绍的很少,我觉得C应该不选

tidb记录事物结束时间

2 个赞

E应该是要选择的,row格式不会只记录语句

如果只记录语句,可能上下游数据会不一致的

E应该是很确定的,delete语句不可能只记录sql。会记录删除前的镜像

binlog不记录回滚事务,记录删除前的数据。题干说的“不是”,所以选项C不选

开始时间不记录,记录的是提交时间

1 个赞

学习了

1 个赞

这是哪来的题目?

确定的E

百度文库里的练习题

C应该不选的,binlog记录已提交的事务

TiDB 数据库的 Binlog 日志的特点进行总结:
1)它与 MySQL Binlog 的 Row 格式类似,是逻辑日志,记录事务及事务中每一行数据的修改。
2)它以每一行数据的变更为最小单位进行记录。
3)数据库中只有被提交的事务才会被记录,且记录的是完整事务:在 Binlog 中会记录
每一行修改的主键和开始的时间戳以及事务提交的时间戳。
在《分布式数据库TiDB》这本书里找到了答案,因此正确答案是BDE