1

我正在评估在 SQL Server 中插入大量数据的不同方法。我从 Ado.Net 中找到了SqlBulkCopy类,从 OLEDB 中找到了IRowsetFastLoad接口。据我所知,IRowsetFastLoad 不映射到 C#,这是我的基础平台,所以我正在评估是否值得为 .net 创建一个围绕 IRowsetFastLoad 的包装器,以便我可以在我的应用程序中使用它。

任何人都知道 IRowsetFastLoad 实际上是否会比 SqlBulkInsert 执行得更好——创建这样的包装器是否值得?

4

1 回答 1

2

SqlBulkCopy是 的托管等价物IRowsetFastLoad,它们的性能应该相似。在客户端中,作为一般规则,由于绑定的可用性,OleDB 比 ADO.Net 更快,这允许更快地传入和传出 API 的数据传输(需要更少的内存复制,因为缓冲区是预先知道的、固定的和预先确定的) -分配)。ADO.Net 提供了一个更简单的编程模型,但无法从 ADO.Net 中获取数据(w/oa 副本)。但是对于除了最关键的访问之外的所有访问,差异应该是无法衡量的。

说到重要的区别,服务器访问,他们都将使用快速加载INSERT BULKAPI(不能从直接的 T-SQL 获得),这才是真正重要的。

于 2010-11-19T23:56:30.400 回答