5

I'm doing like this:

 entities.AsParallel().ForAll(o => repository.Insert(o));

is this good, am I going to have more performance with this ?

Omu
  • 67,351
  • 88
  • 268
  • 400

2 Answers2

4

No.

This one can be faster, as it leverages the paralellism to the SQL, but in the end the SQL has to make a lock for the table (page), as it makes an insert. therefore each paralell request is executed after another again.

If you want to make a bulk insert, than make a SP accepting all entries (e.g. a table with SQL 2008.) or do it with Linq2SQL.

that would be the correct design solution.

cRichter
  • 1,391
  • 6
  • 7
4

Probably not. Each insert would actually take place on a seperate thread, while bulk insert work well by transferring large amounts of data from a single thread, at a single time.

PS: SqlBulkCopy would work much, much better than a parallel insert. Use that if possible.

apoorv020
  • 5,290
  • 10
  • 39
  • 62