在C#中创建数据子集时的最佳实践

时间:2012-10-04 21:42:00

标签: c# sql sql-server sql-server-2008 tsql

使用以下方案时,最佳做法是什么?

我有一个总共约600万条记录的数据集,分为30多个表,其中一些表有几十万条记录。我需要使用一个只允许一次插入200条记录的api。

我按表分解插入。现在,我正在考虑我想到的前两个选项。我可以获得该表的完整数据集,然后在C#中循环遍历数据集,一次只插入200。或者我可以进行多次数据库调用,一次抓取200条记录。创建我的对象并调用API来插入我的记录。我认为在插入其他记录时我可以进行下一次数据库调用。

1 个答案:

答案 0 :(得分:1)

使用多个线程,每次读取并一次插入200个。这不仅会更快,而且由于无法在碎片化内存上分配连续的块,因此您不会遇到具有大量数据集的潜在OutOfMemoryExceptions