比较两个平面文件内容的最佳方法

时间:2017-07-14 04:45:18

标签: c# sql-server file compare

我们有很多|(管道)分隔的平面文件,我们每天在SQL Server中使用SSIS包处理它们。每个平面文件分为标题部分,内容部分和页脚部分。我们经常会获得相同文件的更新版本。我们正在尝试在同一文件的两个版本之间实现文件比较功能,以减少处理负担。

哪种方法会更有效率?

  1. 将同一文件的两个版本存储到具有校验和列的单独SQL Server表中,并过滤掉校验和值不匹配的行。

  2. 在C#或C#中提供的任何其他比较算法中实现类似的校验和逻辑。

  3. 您可以建议任何其他新算法来实现相同目的。

1 个答案:

答案 0 :(得分:0)

好吧,如果你已经将这两个加载到SQL Server中,那么快速的方法是使用EXCEPT() or INTERSECT(),具体取决于你的目标。

select * from version2
except
select * from version1

这将返回version2中与version1中的行不完全匹配的行。如果要比较,也可以只选择一列。