我想比较 2 大数据集(2 个表),每个包含大约 10,000,000 条记录:其他属性的id
和哈希。
如果左侧和右侧的id
相同,但哈希不同,我需要比较每个属性以查看哪个属性发生了更改。
实现这一目标的最佳方法是什么?
我已经尝试过DiffKit,我正在寻找可能更快的东西。
以下查询将为哈希不同的每个id
提供一行,并且仅包含不同的列(其他所有内容均为 NULL)
SELECT a.id
, NULLIF(a.col1,b.col1) t1_col1
, NULLIF(b.col1,a.col1) t2_col1
, NULLIF(a.col2,b.col2) t1_col2
, NULLIF(b.col2,a.col2) t2_col2
[…]
FROM table1 a INNER JOIN table2 b
ON a.id = b.id
AND a.hash <> b.hash
(id,hash)上的索引将加快查询速度。