1

如何有效地编写以下查询

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 分钟。

这个查询有没有可能更快?

4

1 回答 1

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

于 2013-04-05T10:57:21.863 回答