1つのテーブルにn個のレコードを挿入します。多数の同時ユーザーが存在し、このテーブルのデータを挿入/更新/選択することができます。このようなテーブルに1000レコードを挿入する方がよいでしょう:Sqlクエリのクエリパフォーマンスを
- 複数の挿入を持つデータベースに単一のSQLクエリを送信します。これにより、サーバからデータベースへの呼び出しが保存されますが、挿入が完了してこのテーブルへの他のすべてのクエリが待機するまで、テーブルがロックされます(わかりません)。
- いくつかのチャンクで1000レコードを分割し、複数のSQLクエリでそれらを送信します。これにより、他のクエリをテーブル上で実行できますが、サーバ間の呼び出しに時間を費やします。
これは何かに依存しているのですか、または常に最適な方法が1つありますか? これは、データの挿入中にトランザクションを使用するかどうかによって異なりますか? このような挿入を実行する他のより良い方法はありますか?
私が使用しているデータベースはMS SQLですが、Oracleのような他のDBでどのように動作するかは面白いです。
興味深いブログ投稿+1。あなたのテストで_reason_トランザクションがより速く現れるのは、私の関心事です。私はそれが必要なロックの多くは、事前のパスで既に撮影されているためだと思う。しかし、あなたの投稿が対処していない1つの重要なことは、負荷のある動作です。あなたのテストは孤立しているようです。ライブシステムでは、結果がかなり早く逆転すると思われます。 – EBarr