TiDB批量保存的时候会报主键冲突

为提高效率,请提供以下信息,问题描述清晰能够更快得到解决:

【TiDB 版本】

TiDB 4.0.8

【问题描述】
Java 因为批处理的时候 可能会批量保存数据,
发现当saveList之后, TiDB会报主键冲突, 但是实际上主键肯定是不冲突的.
就是同时保存的数据多了之后返回的错误.
该如何调整. 可能是哪些参数设置引起的问题.
MYSQL 是正常的,换成TiDB后 就这样, 现在代码已经改成单条保存, 是正常的.
但是批处理任务,单条保存不现实,太慢了.


若提问为性能优化、故障排查类问题,请下载脚本运行。终端输出的打印结果,请务必全选并复制粘贴上传。

  1. 如果可以的话,麻烦给一个可以具体复现的最小case,包括表结构,数据插入方式等,方便调查,多谢。
  2. 简单的根据描述,感觉主键冲突就是因为业务侧没有控制好,导致插入了重复数据吧。 多谢。

并不是业务没有控制好, 主键是UUID.
在POSTGRESQL 和 MYSQL 下 都是正常的 , 换成TiDB 就会导致数据不全.

场景就是批量任务跑出来的结果.
比如每2000条批量提交一下.
就会偶尔报主键冲突. 主键肯定是不冲突的.

  1. 你的意思是和一次提交的多少有关系? 可以试下逐渐降低批量提交吗? 比如500 会不会有冲突?
  2. 能不能提供更多信息,比如建表语句,提交语句,报错日志等。