C# 如何用c语言更新asp.net应用程序中的大量sql数据#

C# 如何用c语言更新asp.net应用程序中的大量sql数据#,c#,sql,sql-update,C#,Sql,Sql Update,我正在使用c#.net和SQLServer2008作为后端开发web应用程序。其中应用程序从excel读取数据并插入sql表。对于这个机制,我使用了SQLBulkCopy函数,它工作得非常好。Sql表有50个字段,其中system_error和Manual_error是两个字段。在48列中插入记录后,我需要重新检查所有这些记录,并通过特定错误更新上述两列,例如,名称、编号、未指定数量等。为此,我必须通过提取数据表和使用For循环来检查每列 当创纪录的数字在1000到5000之间时,它的效果非常好

我正在使用c#.net和SQLServer2008作为后端开发web应用程序。其中应用程序从excel读取数据并插入sql表。对于这个机制,我使用了SQLBulkCopy函数,它工作得非常好。Sql表有50个字段,其中system_error和Manual_error是两个字段。在48列中插入记录后,我需要重新检查所有这些记录,并通过特定错误更新上述两列,例如,名称、编号、未指定数量等。为此,我必须通过提取数据表和使用For循环来检查每列

当创纪录的数字在1000到5000之间时,它的效果非常好。但是,当记录达到10万条或以上时,花了很长时间,比如说50分钟

最初我使用了简单的SQL更新查询,然后使用了存储过程,但两者都需要相同的时间


如何提高应用程序的性能?在处理要更新的海量数据时,还有哪些其他方法?提出建议。

我希望这就是人们使用mongodb而不使用SQL系统的原因。您可以通过优化查询来更新庞大的数据集。请在此处阅读更多信息:


也检查:

< P>一个要考虑的事情是逐行遍历数据库表,而不是执行基于SET的更新操作会引起显著的性能命中。
如果您实际上正在对数据执行基于集合的更新,但仍然存在严重的性能问题,那么您应该查看查询的详细信息,以便了解查询在何处以及为什么执行得如此糟糕

您好,如果我没有记错的话:数据通过SQLBulkCopy上传到SQL,然后进行一些后处理验证,逐行、逐列检查,然后将每行的验证结果写入列system_error和mannual_error。对吗?我理解你为什么使用SQLBulkCopy,它非常快。您是否考虑过在应用程序中进行此类验证?将excel块保留在内存变量中,验证是否将结果写入对应行的DB to_错误列中,然后再获取另一块excel块进行验证?