gpt4 book ai didi

sql - 查找 PostgreSQL 中两个大表之间的差异

转载 作者:行者123 更新时间:2023-11-29 11:15:15 25 4
gpt4 key购买 nike

我在 Postgres 中有两个类似的表,只有一个 32 字节的拉丁字段(简单的 md5 哈希)。两个表都有大约 30,000,000 行。表格差异不大(10-1000行不同)

Postgres 是否有可能找到这些表之间的差异,结果应该是我上面描述的 10-1000 行。

这不是真正的任务,我只是想知道 PostgreSQL 如何处理类似 JOIN 的逻辑。

最佳答案

EXISTS似乎是最好的选择。

tbl1 就是这个例子中有多余行的表:

SELECT *
FROM tbl1
WHERE NOT EXISTS (SELECT FROM tbl2 WHERE tbl2.col = tbl1.col);

如果您不知道哪个表有多余的行或两个表都有,您可以切换表名后重复上述查询,或者:

SELECT *
FROM tbl1
FULL OUTER JOIN tbl2 USING (col)
WHERE tbl2 col IS NULL OR
tbl1.col IS NULL;

在后面的帖子中概述基本技术:

旁白:数据类型 uuid对于 md5 哈希是有效的:

关于sql - 查找 PostgreSQL 中两个大表之间的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15330403/

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