比较两个巨大的CSV文件进行更改的最快方法是什么?

pen*_*ake 4 .net c# architecture powershell

我认为这是一个架构和/或设计相关的问题:

我的场景是:

"

  • 我将大量数据从Db导出到CSV.
  • 我经常这样做.
  • 我想检查上次导出的CSV数据是否与先前导出数据的内容不同"

我怎样才能实现这一目标(无需逐行循环和比较)?

备注:

  • 我的导出器是.Net控制台应用程序.

  • 我的Db是MS-SQL(如果你需要知道)

  • 我的导出程序定期作为Scheduled TASK运行 - 在PowerShell脚本中

Rob*_* P. 6

听起来你只想生成每个CSV文件的校验和来进行比较.
计算文件的MD5校验和

using (var md5 = MD5.Create())
{
    using (var stream = File.OpenRead(filename))
    {
        return md5.ComputeHash(stream);
    }
}
Run Code Online (Sandbox Code Playgroud)

  • 我同意这个想法 - 甚至可能在每次导出时提前计算校验和 - 将校验和保存在数据库的"export_history"表中,这样您就可以获得每次导出的永久记录. (4认同)