2016-09-01 20 views
6

私は彼が声明で記事を終了しDapperに挿入するバルクのサムサフランによる記事(That annoying insert problem getting data into the db using dapper)が見つかりました:あなたはSQLに原料の多くを挿入するための超高速な方法を必要とする場合、例えば、SqlBulkCopyはDapperよりも高速ですか?

をDBでは、SqlBulkCopyを打ち負かすことはありません。そのためにカスタムAPIが必要になります。

記事は4歳以上です。

は、私は最近、( - Evaluating ORMs for batch dataなど、この1のような)私が見つけた多くの古いパフォーマンスの記事に基づいてSqlBulkCopyをアウトパフォームすると思われる2,000msで1,000,000行を行うことができると主張しDapper Plusに出くわしてきました。

私のGoogle-fuは残念ながら、これらの2つの一括インポート方法の間の最近のパフォーマンス比較を見つけることに失敗しました。

質問:SqlBulkCopyはまだDapper.NETより速いですか?

+1

オープンソースではありませんが、[パフォーマンスチューニングのwiki](https://github.com/zzzprojects/Bulk-Operations/wiki/Performance-Tuning-Options)では、 'SqlBulkCopyOptions'をカスタマイズすることができます。 dはSQL Serverの実装が 'SqlBulkCopy'のラッパーであることを示唆しています。 –

+0

あなたは間違ったライブラリを見ていると思います。彼らには標準のADO.NETライブラリもあります。私は間違ったことをリンクしている可能性があります。 – toadflakz

+0

私はそれらがすべて同じことに基づいていると仮定しますが、[ここではDapper Plus固有のものです](https://github.com/zzzprojects/Dapper-Plus/wiki/dapper-plus-mapper-server)。 –

答えて

5

免責事項:私は、SQL Server/AzureのためDapper Plus

Dapperのプラスは、それ以外の場合は、SQL抽出テーブルを使用します保存するのに十分な実体がある場合、ボンネットの下にSqlBulkCopyを使用するプロジェクトの所有者です。

この記事では、Entity Frameworkのについてですが、あなたはより多くの情報が必要な場合には、Dapperのために同じ戦略です:私たちの図書館は明らかにSqlBulkCopyをアウトパフォームしないEntity Framework How to Bulk Insert in SQL Server

だから、それは同じ性能だが、私たちのライブラリがにそれが容易になりますつかいます。

ライブラリもサポートしていますSqlBulkCopyと一時テーブルのトリックを使用して

  • BulkUpdate
  • のbulkdelete
  • BulkMerge

関連する問題