我正在寻找跨 2 个表验证数据,其中 TableA(在用户源数据库 - DB2 中)是 TableB(在数据仓库 - DB2/Netezza 中)的副本。
由于复制数据的过程不稳定并且每天都在运行而不是实时运行,因此目标数据库中存在差异,我需要找出并找到。此外,不希望在服务器上增加很大的负载,这可能会破坏组织的正常运营。
我目前正在执行以下操作:
a) SUM checks on all numeric fields
b) MAX / MIN checks
c) Row Count checks (COUNT(*))
d) Checking the Data Types on both the DB's to be equal
e) Checking the DISTINCT count of the PRIMARY fields
f) Check MAX of Date on which the row was copied over (we put a new column to specify when that row was copied over)
除了上述之外,还有没有其他更简单的方法可以在单个 SQL 查询中完成,不会占用数据库服务器上的太多资源?
另外,有没有人知道一种方法来匹配 DB2-DB2 和 DB2-Netezza 表中的行与行,就像使用 SAS 表一样?
笔记:
a) Netezza does not have the concept of UNIQUE or PRIMARY, so Referential Integrity and UNIQUE checking is not valid.
b) All the tables have > 100M rows, so running a simple RowCount on each table can sometimes take upto 30-45 mins