【发布时间】:2019-07-17 21:26:01
【问题描述】:
定期,我想比较一个全局 sql 表(称为“resource”)和一个本地备份表(称为“region_db”),以查看字段是否已更改。我以这种方式监控的字段称为“状态”,主键称为“id”。目前我正在做
SELECT id, state FROM resource
然后手动循环遍历结果行。对于每个 (id, state) 元组,我都会这样做
SELECT state FROM region_db WHERE id = id
并检查来自本地 region_db 的状态是否与来自全局资源 db 的状态相匹配。我可以通过这种方式检测两种情况:1) 将新 id 添加到资源时,以及 2) 现有行的状态发生变化时。
但是,我错过了从资源表中删除行的情况。
我正在考虑使用 JOIN,但不确定如何有效区分这三种情况(修改现有、添加新和从资源表中删除行),同时最大限度地减少 JOIN/DB 操作的数量。
【问题讨论】:
-
@GordonLinoff 完成
标签: sql cockroachdb