SQLでのバルクデータの挿入:OLEDB IRowsetFastLoadとAdo.NetのSqlBulkCopy

ado.net oledb sqlbulkcopy sql-server

質問

SQL Serverに大量のデータを挿入するためのさまざまな方法を評価しています。私はOLEDBからAdo.NetとIRowsetFastLoadインターフェイスからSqlBulkCopyクラスを見つけました。私の知る限り、IRowsetFastLoadは私のベースプラットフォームであるC#にはマッピングされないので、IRowsetFastLoadの周りにラッパーを作成する価値があるかどうかを評価しています。

IRowsetFastLoadがSqlBulkInsertよりも実際に優れたパフォーマンスを発揮するかどうかは誰にでも分かります。このようなラッパーを作成する価値はありますか?

受け入れられた回答

SqlBulkCopyの管理と同等であるIRowsetFastLoad 、彼らは同様に実行する必要があります。クライアントでは、一般的なルールとして、OleDBはADO.Netよりも高速であり、バインディングの可用性のために、APIの内外へのデータの転送が高速になります(バッファは先行、固定、割り当てられた)。 ADO.Netははるかに簡単なプログラミングモデルを提供しますが、ADO.Net w / oaコピーからデータを取得することはできません。しかし、最も重要なアクセスを除いて、その違いは測定不可能でなければなりません。

違いは、サーバーへのアクセスでは、両方とも高速ロードINSERT BULK API(ストレートT-SQLでは使用できません)と、実際に重要なことを使用します。



ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow