背景:由于业务需求,我们将Oracle中的数据库同步到MySQL数据库中,且对表的字段和逻辑做了部分调整,所以需要对比的是MySQL数据库中表的数据与Oracle数据库中表的数据是否一致!

那么现在就来介绍一下我是怎么实现测试的吧?

在这个过程中有些表设计的数据有20多万条,而有些设计的数据也才几百条。在我学会以下方法之前我都试用的Excel表格来对比数据的,虽然Excel表格的函数很强大,但处理过万的数据是非常耗时间的,所以在我学习和向同学询问的时候,发现了一个既快速又好用的方法,以下便是方法介绍了:

测试准备:

1、首先是要准备好你自己需要测试的数据库的连接工具,这就不多说了,既然要测试这个,大家肯定是有的,但如果没有,也没关系,我这里有Navicat Premium 12的安装包,有需要的同学可以下载:

链接: https://pan.baidu.com/s/1y2IHxQglq6nBhJlFoCVKDQ 提取码: 3m7p 复制这段内容后打开百度网盘手机App,操作更方便哦

2、整理清楚自己要测试的表字段的对应关系,同步逻辑等,这里也可以借鉴论坛里朋友的方法,我自己用的则是比较笨的方法,但是这个方法的好处就是不容易出错,笔记标字段与数据不同,可以使用Excel表格,对应清楚Oracle表字段与MySQL表字段,实例如下:

3、分别连接需要测试的数据库,可先对比数据总数,在依照对应字段来查询需要关注的数据详情

#查询返利商品总数
select count(*) from 表名;

#查询数据详情
select  字段名  from 表名 order by 排序字段;

注:之所以需要排序,是为了方便两个表数据的顺序一致,方便对比

4、分别查询出两个库的数据详情后,点击导出结果并保存为文件1、文件2(可以是.txt、Excel等格式,这里强调一下,具体使用什么格式的文件导出,可根据数据具体情况而定,若涉及日期字段,数据为空是,导出文件是Excel格式可能会默认给出时间

5、使用beyondCompare工具来对比两个库中导出的查询结果文件1、文件2,beyondCompare工具下载地址:链接: https://pan.baidu.com/s/1kn7bdwMPNLo5FpZ8BTn-_Q 提取码: v8ew 复制这段内容后打开百度网盘手机App,操作更方便哦

备注:本文为小编自己经验所写,如有更好的方法,欢迎大家一同分享

 

 

 

相关文章: