enable-batch-dml这个参数在哪里设置

测试tidb在insert into时发生异常提示事务太大,一些文档显示要修改
enable-batch-dml参数为TRUE
我用tiup在servers-config下的tikv中增加了这一条目 在reload的时候提示
regnerate config tikv Error
请教一些这个参数在哪里设置啊!

image
这个是个参数,不是环境变量,我在load data时没有明确enable,只指定batch大小也能生效
set session tidb_dml_batch_size=10000; insert使用得改下然后reload tidb

1 个赞

没找到这个参数,麻烦提供一下这个参数的相关信息

tidb版本是多少,没看到这个参数,从哪里的文档看到的

请教一些我u想从一个查询里面获取数千万行插入另一个表中怎么避免事务过大这个异常,多谢!

大事务的处理方式对比 参考下
主要还是设置事务的最大大小参数,然后控制一次从表里select的量,你的是什么版本,如果支持闪回查询,可以设置tidb_snapshot,保证多个批次的数据一致性

1 个赞

参考下这个帖子吧,和你的问题类似https://asktug.com/t/topic/274564/3
引用大佬的回答

1)要开启autocommit=1,才能开启tidb_batch_insert
2)开启tidb_batch_insert,才能开启tidb_dml_batch_size

1 个赞

在默认情况下,TiDB 将在执行语句后立即进行 autocommit (自动提交)

v6.1 里 enable-batch-dml 转化成了系统变量 tidb_enable_batch_dml,已经在文档里加上,会随 v6.1 发布上线:
https://github.com/pingcap/docs/pull/8689/files#diff-ec2cbb115cc58fe3afe2862eb5148732d323cbf7ae35dea97bd381a1f8d0e8a0R778

感谢回复

此话题已在最后回复的 1 分钟后被自动关闭。不再允许新回复。