# 大量 DML 操作导致 OOM

+ 问题:
  + Coprocessor CPU 使用率飙升 --> CPU 资源耗尽（打满) --> 集群的 duration 升高 --> 大量数据删除  --> 加载到内存 --> 打满 TiDB 的内存 --> 导致 OOM

-------------------------------------------------------------
当我们有大批量的数据需要清理的时候，可能会出发 too large transaction 异常，也有可能会由于 TiDB 节点内存不足导致 OOM。在这个案例中，imp_date 字段上虽然有索引，但是由于索引的扫描范围过大，无论是优化器选择 index scan 还是 table scan，TiDB 都倾向 TiKV coprocessor 请求读取大量的数据。

对于 TiKV 节点的大量读数据请求，会有两方面的影响：
- TiKV 节点的 Coprocessor CPU 使用率飙升，CPU 资源被打满，从而导致集群的 duration 升高
- 数据删除时，会加载到内存中，打满 TiDB 的内存资源，从而导致 OOM
