用batch批量删除数据怎么控制并发

【 TiDB 使用环境】生产环境 /测试/ Poc
使用batch on 批量删除数据,数据量大概6亿,怎么控制执行并发?现在直接跑看起来是资源用满的。

使用 BATCH ON 的 LIMIT 子句。限制单次删除的行数,降低每个分片的资源消耗

如果是通过工具,可以降低并发数

你每次删除多少数据?

开始300万 慢慢加到1000万,现在跑2亿

image
这个dashboard中sql语句平均ru是怎么计算的,怎么那么大的数

BATCH ON id LIMIT 2 DELETE FROM t where v < 6;
你limit那里写的是不是太大了,可以写小点
另外一个问题batch的 id得是主键,否则会越删除越慢

我是limit 10000 ,使用的主键id删除的

内部问了下,默认单线程执行的。发现一个 batch on sql 的 cpu 消耗很多?

limit 10000 这里我觉得改小资源消耗就会小

单次删除1000-3000试试

不是cpu消耗高,是磁盘读写高。删完了,没出现问题。
下次删除超百亿的数据再观察下

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