Loader恢复时候,恢复文件行数限制

当我使用最新的工具mydumper工具测试,在使用-r参数的时候,如果指定-r 大小为1000000,表示每个文件的大小是按照表的1000000行进行切割的,假如使用loader进行恢复,因为tidb有如下限制:

单个事务包含的 SQL 语句不超过 5000 条(默认)

每个键值对不超过 6MB

键值对的总数不超过 300,000

键值对的总大小不超过 100MB

按照上面的方式进行恢复的时候,单个事务读取恢复数据进行恢复,那么一个事务的sql的大小是多少呢?有没有达到tidb的限制?这样会不会有问题?

tidb版本3.0.2 备份数据量1.2T

在对切割的文件内查找insert的时候发现

1000000行数据,对应有205个insert,每一个insert插入的数据约为4890行,小于设定的5000行;

也就是说,在mydumper进行备份的时候,会自动的对文件进行切割,sql的数据量小于给定的5000行,和-r参数指定的数目无关;

原因: 我们对 TiDB 维护的 Mydumper 工具有一定优化

一个事务中的语句数量,默认限制最大为 5000 条。 参数配置

FAQ 文档