通过多个线程将数据插入到同一个表中

时间:2013-02-13 05:21:40

标签: database multithreading c#-4.0 entity-framework-4 concurrency

假设我有两个相关的表,即Account和User,其中User持有Account的外键。我有2,000个帐户,需要将10,000个用户从一个帐户复制到其他1,999个帐户。所以所有数据都会转到User表。我查询了需要复制的10,000个用户。现在我必须将它们插入User表中。所以这是(10000 x 1999 =)199,90,000行的计数。

我打算使用多个线程进行插入操作。我需要知道SQL Server如何处理并发请求 -

  • 它是否使用多个连接,每个线程一个?
  • 如何将数据插入到同一个表中,因为多个线程同时提供它们?
  • 由于User表具有Identity列,因此insert操作永远不能真正并发。但是,这种使用客户端多线程的方法可以实现任何性能提升吗?
  • 什么是更好的可扩展和更快的方式来执行此操作?

提前致谢。

编辑:我正在使用Entity Framework 4.0,它实际上不支持批量复制:(

0 个答案:

没有答案