在迁移数据库的时候做一些必要的验证还是很有用的,比如说迁移前后的数据条数是否一致,数据是否一致,这个时候怎么办呢,验证条数还好说,要是验证数据是否一致呢,对于重要的数据当然要每条都不会有差错,随机抽样验证肯定是不行的,万一遗漏了就麻烦了,而且两张表不再同一台服务器上。这个时候该怎么办呢,有一种方法:
- 从表中选取几个重要字段,比如说A、B、C,用这几个字段作为比对的标尺。
- 从原表中导出每条数据的这三个字段到一个文件f1中。
- 从目的表中到处每条数据的这三个字段到文件f2中。
- 比对文件f1、f2文件中的每条数据是否相同。
- 得出结论
上面这种方法是同时想出来的,也还不错,但我觉得还有改进的余地:
- 首先就是不是所有字段,仍然有可能在非主要字段出现different。
- 整体效率比较低
我的想法是这样:
- 对表中的每n条数据进行拼接(直接连接起来,n取值取决于每条数据的数据量大小)。
- 计算这n条数据的md5值,添加到文件f1中,直到所有数据取值完成。
- 对目的表也一样,记录的文件f2中。
- 比对文件f1、f2文件的md5值,如果一致,ok,成功。
- 如果不一致,从上倒下比对每条md5值,找到第m条不一致。
- 得出结论,不一致的数据在m*(n-1)+1 ~ m*n之间,可以再次选择定位。
第二种方法的好处就是输出文件会在一定范围缩小,比对方便,但是也有缺点,不能像第一种方法一样直接通过关键字段定位不同数据的位置。
下面是第二种方法效果和的具体代码实现:
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
软考中级精品资料免费领
- 历年真题答案解析
- 备考技巧名师总结
- 高频考点精准押题
- 资料下载
- 历年真题
193.9 KB下载数265
191.63 KB下载数245
143.91 KB下载数1142
183.71 KB下载数642
644.84 KB下载数2755
相关文章
发现更多好内容猜你喜欢
AI推送时光机数据表迁移数据一致性验证
数据库2024-04-02
mysql只读模式下数据迁移,保证数据一致性
数据库2024-04-02
MySQL与HBase在数据迁移时的数据一致性维护
数据库2024-10-19
如何在Python中进行数据可靠性存储和迁移,以及数据一致性的保证和校验
数据库2023-10-22
Spring Data 的数据验证:确保数据完整性和一致性
数据库2024-04-02
PHP Session 跨域的数据一致性验证机制
数据库2023-10-21
MyBatis视图在数据备份恢复中的数据一致性验证
数据库2024-10-15
SQL级别数据一致性校验
数据库2024-08-03
由数据迁移至MongoDB导致的数据不一致问题及解决方案
数据库2021-02-24
递归查询在数据迁移过程中的一致性检查
数据库2024-09-08
redis怎么保证和数据库数据一致性
数据库2024-02-29
canal怎么保证数据一致性
数据库2023-10-22
mysql怎么保证数据一致性
数据库2023-09-15
Cassandra如何保证数据一致性
数据库2024-04-09
redis怎么保证数据一致性
数据库2017-04-27
redis如何保证数据一致性
数据库2024-05-10
MySQL插入锁与数据库数据一致性校验
数据库2024-08-14
递归查询在数据迁移测试中的验证
数据库2024-09-08
触发器在数据迁移中的自动化验证
数据库2024-09-26
咦!没有更多了?去看看其它编程学习网 内容吧