したがって、SQL Serverデータベースにデータを挿入するBCPは非常に高速です。それは何をしているのですか?なぜBCPはとても速いのですか?
答えて
SQL Serverでは、BCP入力は従来の挿入ステートメントとは大きく異なります。 SQLが何かを処理することを決定する方法は、いくつかの要因によって異なりますが、ほとんどの開発者は、データベースが使用するように設定されている復旧モデルのように考えることもありません。
bcpは、BULK INSERTおよびSqlBulkCopyクラスと同じ機能を使用します。ここ
詳細は一番下の行はこれですhttp://msdn.microsoft.com/en-us/library/ms188365.aspx
、これらの一括操作は、通常の操作よりも少ないデータを記録し、SQL Serverが入ってくるデータに伝統的なチェック・アンド・バランスを無視するように指示する能力を持っている 。すべてをそれらのものが一緒になってそれをより速くする役割を果たす。
bcpと通常の挿入の主な違いは、bcpは個々のトランザクションごとに個別のトランザクションログエントリを保持する必要がないことです。
これは、私は通常の挿入を行うときにこのログをオフにする方法はありますか? –
@Tomそこには方法がありますが、試してみると非常に悪い考えです –
これは詐欺です。
内部の知識があり、入力データを内部でより直接的にマッピングすることができます。それは他のヘビー級演算(解析、最適化、トランザクション、ロギング、遅延インデックス、分離など)をスキップできます。これは、通常の挿入SQL文では不可能なデータのすべての行に適用される前提を設定できます。
基本的には、データベースをデータベースにする大量の機能をスキップして、最後にまとめてクリーンアップすることができます。
そうしないと指示しない限り、テーブルのトリガーもスキップするようにしたいとします。 – HLGEM
これは、SQL Server Native Client ODBCドライバのBCP APIを使用しているためです。 Microsoftによると:
http://technet.microsoft.com/en-us/library/aa337544.aspx
bcpユーティリティ(bcp.exeのは)一括 コピー・プログラム(BCP)APIを使用するコマンドラインツールです...
バルクコピー機能リファレンス:
- 1. Redis - なぜこのコードはとても速いのですか?
- 2. Strassen Matrix乗数がなぜとても速いのですか?
- 3. はなぜコード2よりもコード1速いのですか?
- 4. Cython:intよりもsize_tが速いのはなぜですか?
- 5. なぜWindows上のブランチチェックアウトが遅いのですか?しかし、Linuxではとても速いのですか?
- 6. なぜopenssl_pkey_newはgpgよりもずっと高速ですか?
- 7. なぜ、このコードは私のものよりも速いのですか?
- 8. bcpのクエリがSQL Serverで機能しないのはなぜですか?
- 9. なぜゲームレンダラーは3Dアプリケーションレンダラーと比べて速いのですか?
- 10. なぜplt.importはplt.pcolorよりもずっと速いのですか?
- 11. なぜJava StampedLockがReentrantReadWriteLockよりも速いのですか
- 12. なぜWebViewはTextViewよりもはるかに高速です
- 13. TensorflowでKerasよりも2倍速いのはなぜですか?
- 14. `{}`のRコードが `()`のものより速いのはなぜですか?
- 15. なぜ私の瓶はとても大きいのですか?
- 16. なぜこのアルゴリズムはとても遅いのですか?
- 17. なぜPython 3のhttp.clientはPythonリクエストよりもずっと高速ですか?
- 18. intよりも値渡しの方が速いのはなぜですか?
- 19. ローカル変数アクセスがPythonのクラスメンバーアクセスよりも速いのはなぜですか?
- 20. Clojure:なぜagetはとても遅いのですか?
- 21. なぜハスケルはとても大きいのですか?
- 22. AWS SQSはなぜとても遅いのですか?
- 23. なぜこのタプルは、迅速な文脈がなくてもあいまいですか?
- 24. VS11ベータ版はとても速いのですか?
- 25. SELECT DISTINCTはとても速いのですか?
- 26. bcp query where where句でエラーが発生するのはなぜですか?
- 27. WindowsでFFTWがLinuxよりも高速なのはなぜですか?
- 28. なぜKNNは意思決定ツリーよりもずっと高速ですか?
- 29. なぜ "lst.reverse()"は "lst [:: - 1]"よりもずっと高速ですか?
- 30. なぜOpenGL ESとcocos2DはCocoa Touch/iOSフレームワークよりも高速ですか?
興味深い。私はSQLBulkCopyクラスを使用する場合、私は同じ種類の機能を得るだろうと思う...それは私が行くルートかもしれない –