delete语句很慢,明明有索引也不走
DELETE FROM r_verify_result where ID_RULE_INFO in (select t2.ID_RULE_INFO from etl_verify_INFO t2 where t2.id_batch = 343042 and t2.id_jobentry = 7155)
看了delete执行计划的确不走索引,但是select就走索引。改成下面这种inner join方式的就走索引。只能说是mysql的问题了。
DELETE t1 FROM r_verify_result AS t1 INNER JOIN etl_verify_INFO AS t2 ON t1.ID_RULE_INFO = t2.ID_RULE_INFO and id_batch = 343042 and t2.id_jobentry = 7155
注意 t1是别名,那里只能用别名。