delete语句返回Out Of Memory Quota

有个定时任务每天删除两天前的数据。表的数据量不是很大,大概保持在4-50w,但是单行数据很大。
之前这个任务导致了tidb OOM,后来做了拆分,每1000条删除一次,但是有些情况下会失败,delete语句返回的报错信息是Out Of Memory Quota。通过慢日志的我观察到delete超过1G就会失败,且返回这个错。从grafana监控中发现内存也给出去了。
关于这个我有以下几点疑惑,请大佬们帮忙解答下

1/delete失败返回oom这个是不是与mem-quota-query参数设置有关?现在默认是1G。
2/mem-quota-query这个参数是仅控制select语句还是适用所有的语句?
3/假设我一个delete需要2G的内存,但是因为oom失败了,内存是分配1G报失败,还是说会分配2G报失败?

限制单条语句的最大占用,DML都适用

那txn-total-size-limit这个参数只有在比mem-quota-query小的时候才起作用吧?

一个是对单个事务,一个是对单条sql,对于一个事务包含多条语句的应该是看哪个先到阈值。

明白了
那我这个场景是不是只能用更细粒度的删除任务,比如一次删除500行

把参数调大点呗

:joy:好的,谢谢两位

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