Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net:创建/存储与SQL server并行的大量数据_.net_Sql_Database_Parallel Processing - Fatal编程技术网

.net:创建/存储与SQL server并行的大量数据

.net:创建/存储与SQL server并行的大量数据,.net,sql,database,parallel-processing,.net,Sql,Database,Parallel Processing,我将在每个批中创建/保存大量记录(30000条)到数据库表。 如果我使用并行程序来减少处理时间,我如何处理以下问题 db表将被阻止,性能实际上不会像预期的那样好 有什么模式我可以参考吗 提前感谢。您确定需要并行处理吗?3万可能没那么大。我建议你先看看这门课。这里有一个解释如何使用它的链接: 首先,大多数数据库专业人员不会考虑30K记录一个大的数据集-你确定你需要担心性能吗? 取决于一系列因素,数据库服务器实际上能够很好地处理在同一个表中插入/更新数据的多个进程——这是它们的主要用途。我假设您

我将在每个批中创建/保存大量记录(30000条)到数据库表。 如果我使用并行程序来减少处理时间,我如何处理以下问题

  • db表将被阻止,性能实际上不会像预期的那样好
  • 有什么模式我可以参考吗

提前感谢。

您确定需要并行处理吗?3万可能没那么大。我建议你先看看这门课。这里有一个解释如何使用它的链接:

首先,大多数数据库专业人员不会考虑30K记录一个大的数据集-你确定你需要担心性能吗? 取决于一系列因素,数据库服务器实际上能够很好地处理在同一个表中插入/更新数据的多个进程——这是它们的主要用途。我假设您指的是数据库服务器产品,如MS SQL server、Oracle或MySQL

Simon Mourier提出的BulkCopy可能是将大型数据集放入表中的最快方法


如果您确实需要运行并行处理,关键是事务管理——如果每个线程启动一个事务并且很长时间没有提交它,那么您可能会遇到锁定问题。仔细阅读数据库的实现,并尝试进行短时间运行的事务

谢谢你,西蒙。坦率地说,我不确定并行编程是否对我的场景有帮助。恐怕我的题目也不够清楚。整个处理过程不仅仅是存储数据。它实际上经历了一个稍微复杂的过程,作为结果的一部分,它生成数据并将其存储到两个表中