如何有效地编写以下查询
SELECT DISTINCT a.id
FROM table1 a where a.id NOT IN (SELECT DISTINCT b.id
FROM table2 b)
发布此查询后,结果将通过插入查询插入到table2中。
问题是table1有大约75300条记录,table2有大约74000条记录。
此查询每10分钟执行一次,执行约需1.5分钟。
此查询可能更快的任何可能性?
答案 0 :(得分:4)
尝试使用Join
SELECT DISTINCT a.id from table1 a
LEFT JOIN table2 b
on a.id = b.id
Where b.id is null
Left Join
子句将从a
中选择所有行,无论b
中是否存在匹配的行。然后,您可以使用末尾的where
子句确保a
中返回的行与b