如何在C#中更改SqlDataReader的缓冲区大小?

时间:2017-06-07 08:10:46

标签: c# sqldatareader

我正在使用SqlDataReader进行数据迁移。如何一次增加插入目的地的记录数?

1 个答案:

答案 0 :(得分:0)

  

我想一次增加插入目的地的记录数。

然后这与SqlDataReader无关,你需要查看你用于插入的任何工具。如果您使用的是SqlBulkCopy,那么这应该就像更改.BatchSize一样简单。如果您正在使用其他机制,则必须具体。例如,如果您使用SP来执行一次只处理一行的插入,则一个选项可能是使用MARS和重叠async操作;我有一个实用的方法,我用于这种类型的顺序固定深度重叠(非常Parallel.ForEach不同,例如,即使使用固定的max-DOP) 。如果您正在使用通过基于TDS的表参数工作的插入,那么:在调用操作之前,只需在本地缓冲那么多数据。如果您正在使用诸如EF之类的ORM:请参阅ORM的插入文档。

但是:要强调:没有对此进行投票的一件事是:数据阅读器。