校验两个数据库中表内容是否一致?
0
请教各位大牛们,校验两个数据库中表内容是否一致,这个有什么好的方法做吗?详细情况是这们的,我们是数据公司,将公司数据库里的数据同步到客户的数据库中去,现在想用java写程序去实现校验客户中数据库和公司数据库里内容是否一致(多了不必要的数据或者少了数据),然后将少了的数据补发给客户,错误的数据将其删除,数据量很大,最大的表目前有3亿多条,公司数据库是sqlserver,客户数据库可以是其它(mysql,sqlserver,oracle)。
目前有个问题就是,由于没有分表,大表查询速度非常慢
目前有个问题就是,由于没有分表,大表查询速度非常慢
没有找到相关结果
重要提示:提问者不能发表回复,可以通过评论与回答者沟通,沟通后可以通过编辑功能完善问题描述,以便后续其他人能够更容易理解问题.
4 个回复
BAO胖子 - 15年BI经验,涉足电力,快消品,医药,信息服务等行业的BI老兵。 2015-11-03 回答
赞同来自: yuzhouhuo2010
抽样调查为主,不过非得对比所有内容....你试试吧:
1. 检查表的row count, 看看是不是完全一致,如果完全一致下一步,不一致查原因
2. 检查其中几个decimal column的汇总值,看看是不是完全一致,不一致查原因
3. 按照几个主要的column做分类汇总(count, decimal),对比,不一致查原因
如果非得所有数据内容都对一下的话:
4. 用checksum这种东西,对所有列求一下,然后双边对比。
真打算用java吗?大表算了吧。
老头子 - 专注是唯一的捷径 2015-11-02 回答
赞同来自:
GeorgeYao - 路漫漫其修远兮,吾将上下而求索! 2015-11-03 回答
赞同来自:
gogodiy - 天善智能数据库专家、Tableau爱好者 2015-11-04 回答
赞同来自: