【发布时间】:2012-11-08 04:52:26
【问题描述】:
可能重复:
Join vs. subquery
我需要处理大量数据,但有时需要根据条件排除记录。
由于要检查的数据量以及将返回的数据量一次在数万个,并且会经常运行,我想知道是否有人可以阐明哪个就速度和负载而言,这种方法是最好的,所以要尽可能地让事情顺利进行
SELECT a.*
FROM table_a as a
LEFT JOIN table_b
ON table_b.a_id = a.id
WHERE table_b.status <> 'new'
或
SELECT *
FROM table_a
WHERE id NOT IN (
SELECT a_id
FROM table_b
WHERE status <> 'new'
)
【问题讨论】:
-
您确定这两个查询总是会产生相似的结果吗?
-
这些查询是示例,因此可能不准确