我正在使用MySql 5.5.37。我正试图找出一种更快的方式来编写下面的查询。我有两个表,access_code和教室。 “教室”表具有对access_code表的主键的外键约束(access_code_id)。我正在尝试删除access_code表中没有指向教室表的链接并具有特定类型ID的记录。所以我正在跑...
delete from access_code where id in (select q.* from (select a.id FROM access_code a left join lyc_classroom c on a.id = c.access_code_id where a.access_code_type = 2 and c.access_code_id is null) q);
需要很长时间。有没有更快的方法来执行上述查询?
答案 0 :(得分:3)
您不需要子查询。使用delete ... join
语法
delete a
from access_code a
left join lyc_classroom c on a.id = c.access_code_id
where a.access_code_type = 2 and c.access_code_id is null