2012-12-07 39 views
0

我有超过100万行检查更改,然后进行更新。 我完成了我的程序,遍历每条记录,然后更新数据库。但是这个操作需要几个小时才能完成多线程。我优化了查询,插入和检查以最小化数据库负载。我取得了更好的结果,但速度很慢。基于数据表的高效批量SQL数据库表更新

是否有任何方法在内存中维护带有正确记录的DataTable,然后在一次更新中将整个数据结构作为“虚拟表”上传到SQL Server并让SQL Server处理更新?

我以前见过类似的东西,它是通过Posrgre服务器上的函数完成的(不涉及C#)。我需要在几分钟内完成我的程序,而不是几个小时。

+0

你最近怎么样做更新?一次或一次记录一条记录? – brian

回答

2

请插入新的数据与批量复制一个临时表或使用表值参数(TVP),然后使用SQL MERGE命令,在现有的表更新行。