删除操作触发OOM,但是删除的数据并不多。

是不是tidb 节点的内存太小了啊,限制使用的最大内存的参设是不是没有设置啊

从报错 “Error 1105 (HY000): Out Of Memory Quota” 来看,是 TiDB 执行删除操作时出现了内存配额不足的问题。

可以看看执行计划,以及调整内存配置

最终是如何解决的呀?

本次 OOM 是由于 DELETE 语句缺少索引导致全表扫描,进而内存溢出。通过为 record_time 字段创建索引,让 SQL 高效执行,即可解决问题。

explain看到的是预估执行计划,explain analyze看到的是真实的执行计划。
执行explain analyze看看,应该走索引才对。

这个估计因为全表扫描导致的,扫描全表数据去找要删除的数据,删除数量不多,但是I/O扫描范围大,你的表有500w的数据

感谢大佬分享

同问,最终解决了吗?学习中。