【 TiDB 使用环境】生产环境 /测试/ Poc
使用batch on 批量删除数据,数据量大概6亿,怎么控制执行并发?现在直接跑看起来是资源用满的。
使用 BATCH ON 的 LIMIT 子句。限制单次删除的行数,降低每个分片的资源消耗
如果是通过工具,可以降低并发数
你每次删除多少数据?
开始300万 慢慢加到1000万,现在跑2亿
这个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 天后被自动关闭。不再允许新回复。