- 目标对象:
tidb_mem_oom_action
设置为CANCEL
是针对单个SQL查询的内存控制,而KILL process_id
是针对整个进程或会话的终止。 - 执行时机:
CANCEL
是在SQL查询的内存使用超过设定阈值时自动触发,而KILL
是由用户根据需要手动执行的。 - 影响范围:
CANCEL
只影响触发条件的单个SQL查询,而KILL
可能会影响该进程正在执行的所有查询和操作。 - 反馈机制:
CANCEL
会给客户端返回详细的错误信息,而KILL
的反馈可能相对简单,只是表明进程已被终止。
综上所述,tidb_mem_oom_action
设置为 CANCEL
和 KILL process_id
在TiDB中的执行过程和目的存在明显的区别。选择使用哪种方法取决于具体的需求和场景。