ETL相关心得

一、ETL关于无主键如何同步数据

1.触发器增量

(1)创建表并导入数据

 

本次创建了六张表,1表为无主键源表,2表为有主键源表,3和4为无主键目的表,5和6为有主键目的表。

(2)创建转换,开启同步

 

test1分别对test3和test5同步数据,test2分别对test4和test6同步数据。 

 

 

开启同步后,数据全部同步到目的表中,说明有无主键,数据都会进行同步。

(3)insert/update/delete操作

我们对源表进行insert操作,看目的表是否会正常同步

 

 

查看四张目的表,新数据已经成功同步,说明我们插入数据,对有没有主键并没有什么影响。

我们对源表进行update操作,看目的表是否会正常同步

 

 

 

 

 

我们可以看到3表没有进行修改,4、5和6表进行了修改

源表无主键->目的表无主键,不更新

源表无主键->目的表有主键,更新

源表有主键>目的表无主键,更新

源表有主键>目的表有主键,更新

说明目的表有主键就会更新

我们对源表进行delete操作,看目的表是否会正常同步

 

 

 

 

我们可以看到3和4表没有进行修改,5和6表进行了修改,

源表无主键->目的表无主键,不删除

源表无主键->目的表有主键,删除

源表有主键>目的表无主键,不删除

源表有主键>目的表有主键,删除

说明只有目的表有主键才会删除

(4)查找列对数据同步影响

在转换里设置查找列(1列)

我们清空目的表,恢复源表,再次进行insert/update/delete操作看有什么影响

我们对源表进行insert操作,看目的表是否会正常同步

 

 

查看四张目的表,新数据已经成功同步,说明我们插入数据,对有没有主键并没有什么影响。

我们对源表进行update操作,看目的表是否会正常同步

 

 

 

 

 

我们可以看到3、4、5、6表都进行了修改,说明只有目的表有无主键才会对数据同步有影响,但我们设置查找列后,虽然目的表并没有设置主键,但查找列就会有主键的作用。

我们对源表进行delete操作,看目的表是否会正常同步

 

 

 

 

 

我们可以看到3、4、5、6表都进行了修改,说明只有目的表有无主键才会对数据同步有影响,但我们设置查找列后,虽然目的表并没有设置主键,但查找列就会有主键的作用。

总结:在触发器增量,目的表的主键非常重要,而在实际生产环境中每张表几乎都会有主键,而且有主键的表查询更快,同步效率越高,本次测试只是为学习所作的大致测试,实际情况还要以当时环境为准。

 想了解更多达梦数据库相关信息,欢迎访问达梦技术社区:首页 | 达梦云设配中心(dameng.com)

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值