我正在使用Perl使用DBI连接到2个不同的数据库(MySQL和Sybase),每个都有大约700,000个记录,我需要它们是相同的(最有可能每周左右会有几个不同的记录),首先这样做的时间只是复制表的问题,但这需要定期进行(至少每周一次),只需丢弃表并每次复制所有内容都不是一个好的解决方案,所以我我想知道:使用Perl比较来自2个不同数据库的大约700,000行的更快的方法是什么?
注意:表有5个字段(所有字符都包括主键)
将已排序的每个表完整加载到 Perl 中,然后在两个列表上运行Algorithm:Diff 。最后,您将获得一个很好的列表,其中包含要删除的行和要插入的行。某些行可能会被删除并重新插入(如果这些行挂有外键,则需要执行更新而不是删除/插入)。
700,000 行对于现代机器来说并不是很多数据,也不是很多内存。
如果您只需要存在行(即行存在或不存在,而不是实际的行更改),您可以只对键进行比较,然后从那里获取您需要的行。
归档时间: |
|
查看次数: |
737 次 |
最近记录: |