問題タブ [batch-updates]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - Hibernate のバッチ更新はありますか
これは私の処女の質問なので、ここに行きます...アイデアは、データベーステーブルに対して多数の更新ステートメントを実行しているということです。SQLでは、単純
です。これらは何百万もあるため、これらのいくつかをまとめてバッチ処理することをお勧めします。私はここの指示に従いました:
http://docs.jboss.org/hibernate/orm/3.3/reference/en-US/html/batch.html
と、スタックオーバーフローや他の場所でランダムに見つけた他のいくつかのページですが、すべて同じように読みます。私の考えは、読み取りを行うのではなく、更新のみを直接行い、次のようにループし続けることでした。
update table_name set col1 = 123 where col2 = 456 and col1 is null
したがって、ここでの理解は、フラッシュによって 20 回の更新ごとにコミットが行われ、クリアによって第 1 レベルのキャッシュが空になり、OutOfMemory 例外が回避されるということです。
これまでのところ、私が持っている設定
Show sql は、デバッグ目的で有効になっています。だから、log4jに設定したとき、私が得られない、または見えないのは
しか見えない
ログファイルの最後にあり、「フラッシュ」が発生しているときには発生しません。だから私が疑問に思っているのは、コミットが本当に20レコードごとに呼び出されているのか、メモリ内にあまりにも多くのオブジェクトを構築しているのか、何十万ものテストレコードがないため、これを実行すると本番環境で OutOfMemory が発生するのかということです.
batch-file - 文字列を検索して編集するバッチファイル
サンプル入力:
条件: ファイル名 = 管理者トレーニング マニュアルの場合、タイプを 1 に変更します。
出力:
私は自分の処分ですべてを試しましたが、答えが見つかりません。
私はまだ試みていませんが、コンセプトはそこにあります:
java - mysql odbc executeBatch に時間がかかる
Java のテーブルのデータを MYSQl dB に書き戻しています。しかし、1 つの executeBatch を実行するには 1.241 秒かかります! ここに私のコード:
1241ミリ秒を出力します...私が間違っていることはありますか? このページから、約 100 ミリ秒かかることがわかります。 http://rostislav-matl.blogspot.ch/2011/08/fast-inserts-to-postgresql-with-jdbc.html
mysql - INSERT バッチ、および重複する場合は codeigniter でキーを更新
バッチ挿入クエリで実行する方法はありますか? キーが既に存在する場合は、その行を codeigniter で更新しますか? ドキュメントを調べたところ、insert_batch と update_batch しか見つかりませんでした。しかし、アクティブなレコードで重複キーを使用して行を更新するにはどうすればよいでしょうか? また、batch_insert で 1 行の挿入または更新に失敗した場合はどうなるでしょうか。すべての挿入が失敗するか、それともその行だけですか?
c# - SqlAdapter と DataSet を使用して SQL テーブルの一括更新を実行する
ZipCodeTerritory
以下は、テーブルを一括更新 (約 14k レコード) するために使用しているコードです。コードは例外なく正常に実行されますが、テーブルconnection
を閉じた後にテーブルを確認すると、変更が加えられていないことがわかります。
List
メソッド間で渡すオブジェクトで更新する必要があるすべてのレコードを保持しています。List
これを使用しDataTable
て に入力し、それを に配置しDataSet
て更新を実行します。
これは、この手法を使用しようとする最初の試みであるため、提案があれば大歓迎です。
編集
.Fill
とメソッドの順序を変更して、LoadDataSet()
最初に現在のデータベースからデータをロードし、次に変更をその にマージしましたDataSet
。ただし、次のエラーが表示されます。
テーブルに名前を付けていないことに気付いたので、InitializeStructure()
メソッドを次のように変更しました
ただし....今、.Update
この行で
私はこの例外を受け取ります:
2回目の編集
InsertCommand
メソッドに以下を追加しました(これは、を含むUpdate
内のコードの最初の数行です):try
updateCommand
ただし、データベースに変更はまだありません。