rona
(Rona)
1
为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
- 【TiDB 版本】:v4.0.8
- 【问题描述】:批量更新67w记录表信息时,提示错误信息 8004,Transaction is too large, size: 104857600
请问该如何处理?生产环境,急
UPDATE tbl_kol SET social_links = CONCAT(‘{"’, platform, ‘": "’, home_link, ‘"}’) WHERE social_links IS NULL
8004 - Transaction is too large, size: 104857600
时间: 1.907s
懂的都懂
(wangtianyi)
2
TUG微尘
(TUG微尘)
3
enable-batch-dml --> true (tikv, 需要滚动重启tikv)
tidb_batch_insert --> 1 (tidb,直接修改)
update --> insert into select from..
4.0 版本建议改 txn-total-size-limit 配置参数
rona
(Rona)
5
通过修改txn-total-size-limit参数问题已经解决了,感谢大家
TUG微尘
(TUG微尘)
6
下次遇到更大的事务,可以尝试我提的方案;我之前有个case将txn-total-size-limit给40GB还不行。
Kongdom
(Kongdom)
10
在 4.0 之前版本,如果执行几十万条数据的插入或复制操作,需要用特殊方法来才绕过事务限制,比如开启 tidb_batch_insert
等,但是这些操作是受限且不安全的,未来版本中会被逐渐废弃掉。而在新版本中,可以直接通过大事务支持的特性,来解决老版本中事务限制的问题。
system
(system)
关闭
14
此话题已在最后回复的 1 分钟后被自动关闭。不再允许新回复。