代码之家  ›  专栏  ›  技术社区  ›  Nicolas De Irisarri

在sql:oledb irowsetfastload与ado.net sqlbackcopy中插入大容量数据

  •  1
  • Nicolas De Irisarri  · 技术社区  · 15 年前

    我正在评估在SQL Server中插入大量数据的不同方法。我找到了 SqlBulkCopy 从ADO.NET和 IRowsetFastLoad 来自OLEDB的接口。据我所知,iRowsetFastLoad没有映射到我的基础平台C,因此我正在评估是否值得为.NET创建一个围绕iRowsetFastLoad的包装器,以便在应用程序上使用它。

    有人知道iRowsetFastLoad是否比sqlbackInsert执行得更好——是否值得创建这样的包装器?

    1 回复  |  直到 15 年前
        1
  •  2
  •   Remus Rusanu    15 年前

    SqlBulkCopy 托管等价于 IRowsetFastLoad 他们的表现应该类似。在客户机中,作为一般规则,由于绑定的可用性,OLEDB比ADO.NET更快,从而允许更快地将数据传入和传出API(由于缓冲区提前已知、固定和预先分配,因此所需的memcopy更少)。NET提供了一个更简单的编程模型,但不可能在没有副本的情况下从ADO.NET中获取数据。但是对于除了最关键的途径以外的所有人来说,这种差异应该是不可能衡量的。

    对于重要的区别,服务器访问,它们都将使用快速加载 INSERT BULK API(直线T-SQL不提供)以及真正重要的东西。