老师,我工作中有一个批量删除的语句,执行特别慢,删除1000条数据大概耗时20多秒,给删除语句执行测试计划,如下:
explain delete
from coverage_data
where coverage_data.record_id in (12698284585,731284586,8731284587);
通过上面执行计划来看,并没有走索引。
这个coverage_data表的结构如下,record_id是一个索引字段
请问老师这种 delete 批量删除有什么优化方案?
补充
将删除SQL分解成查询,执行测试计划,如下
explain select id
from coverage_data
where coverage_data.record_id in (12698284585,731284586,8731284587);
根据extra 列信息,是走了索引的