gpt4 book ai didi

SQL - 不存在具有数百万条记录的查询

转载 作者:行者123 更新时间:2023-12-02 08:26:48 26 4
gpt4 key购买 nike

我正在尝试使用以下 SQL 查询(在 SAS 中)从 pool1 中查找 pool2 中不存在的任何记录。 Pool1 有 11,000,000 条记录,pool2 有 700,000。这是我遇到问题的地方。我让查询运行了 16 个小时,但离结束还差得很远。是否有更有效的方法(在 SQL 或 SAS 中)来实现我需要做的事情?

PROC SQL;
CREATE TABLE ALL AS
SELECT A.ID
FROM POOL1 A
WHERE NOT EXISTS (SELECT B.ID
FROM POOL2 B
WHERE B.ID = A.ID);
QUIT;

最佳答案

PROC SQL;
CREATE TABLE ALL AS
SELECT A.ID
FROM
POOL1 A
WHERE A.ID NOT IN (SELECT B.ID
FROM
POOL2 B)
;

上述更改应返回相同的结果集,但运行时间要少得多,因为您不是试图将 POOL2 连接回 POOL1,而是简单地排除 POOL2 中存在的结果。

如另一个答案所述,INDEX 可能会有所帮助,但如果 ID 字段是主键,则它们很可能已经在 INDEX 中。

关于SQL - 不存在具有数百万条记录的查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31430157/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com