問題タブ [bulkupdate]

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.

0 投票する
1 に答える
293 参照

oracle - ホスト配列を使用した Oracle Pro*C の更新で、ホスト配列よりも少ない行を更新する場合がある

Oracleマニュアルに示されているように、ホスト配列を使用してデータを挿入および更新しています。ここに少しのコードがあります:

BULK_SIZE は約 200、300、500 です。また、更新される行数が BULK_SIZE より少ない場合もあります (sqlerrd[2] で確認しました)。
なんで?

0 投票する
1 に答える
659 参照

sql - Oracleのレコードの一括更新数

私はSQLが初めてです。誰かがこの要件について私を助けてくれますか?

このような10000レコードのテーブルがあります

そして、上記のテーブルを更新する会社 ID の別のリストがあります (テーブルではなく単なる Excel シートです)。

私の要件は、最初のテーブルで companyID が見つかった場合は、NewID で更新する必要があり、最初のテーブルで companyId が見つからなかった場合は、oldID に関係なく NewID を使用してテーブルに新しい行を作成する必要があることです。 .

単一のクエリで更新と挿入の両方を行う可能性はありますか?

0 投票する
1 に答える
2396 参照

python - MySQL での Sqlchemy 一括更新の動作が非常に遅い

私は を使用しており、いくつかの(主キーが一致する場合は更新する) クエリをバッチでSQLAlchemy 1.0.0作成したいと考えています。UPDATE ONLY

いくつかの実験を行ったところ、一括更新は一括挿入または一括よりもはるかに遅く見えることがわかりましたupsert

なぜそれがとても遅いのか、またはそれを作るための別の方法/アイデアがあるのか​​ を指摘するのを手伝ってもらえますBULK UPDATE (not BULK UPSERT) with SQLAlchemyか?

以下は MYSQL のテーブルです。

そしてテストコード:

num_of_rows = 100 の場合の出力:

num_of_rows = 1000 の場合の出力:

データベース サーバーへのネットワーク遅延は約 500 ミリ秒です。

一括更新では、バッチではなく、各クエリを 1 つずつ送信して実行するように見えますか?

前もって感謝します。

0 投票する
0 に答える
661 参照

c# - SQL Server テーブルでのオブジェクトの一括挿入/更新のリスト

C# プログラムでは、5 つのオブジェクトを含むリストがあります。

オブジェクト 1:

オブジェクト 2:

オブジェクト 3:

オブジェクト 4:

オブジェクト 5:

ボタンを1回クリックするだけで、これらすべてをまとめてSQLテーブルに挿入/更新する必要があります。id=0 の場合は挿入し、id != 0 の場合はテーブルを更新します。

numberOfMembers は、ドロップダウン [2,3,5,10] から選択されます。BaseID の場合、numberOfMembers は繰り返されません。その時点でデータを挿入しないでください。

SQLクエリを使用してそれを達成するのを手伝ってください。

前もって感謝します

0 投票する
1 に答える
357 参照

jpa - JTA 環境での一括操作用に別のエンティティ マネージャを作成するにはどうすればよいですか?

JPAでは、このような一括操作を行う場合

これによると、同期を壊さないように別のエンティティ マネージャーを使用することをお勧めします: JPA/JPQL での UPDATE SET クエリ

たとえば、EntityManager は、永続コンテキスト内のキャッシュされたエンティティ オブジェクトが UPDATE クエリによって変更されたことを認識していない場合があります。したがって、UPDATE クエリには別の EntityManager を使用することをお勧めします。

休止状態を使用して Wildfly などの JTA 環境で別のエンティティ マネージャーを作成するにはどうすればよいですか? 一括操作用に別の持続性ユニットを作成する必要がありますか?

編集:一括操作に別の PU が必要ない場合、これは新しいトランザクションを使用して解決するのに十分な方法ですか?

LogEntry.updateCustomerToNull一括クエリです。

回答:同じクラス内から呼び出されたときにインターセプターが呼び出されないため、これは機能しません。

EDIT2: Andreiからの提案に従って、これはうまくいくはずです:

テストでは、インターセプターが 2 回呼び出されることが確認されています。

0 投票する
1 に答える
412 参照

node.js - Mongo Bulk Updates - 成功した (一致および変更された) ものと失敗したものは?

多くの単一の Mongo ドキュメント更新 @Node のパフォーマンスを向上させるために、Mongo の一括操作を使用して、反復ごとに 1000 個ものドキュメントを更新することを検討しています。

この使用例では、個々の更新操作が発生する場合と発生しない場合があります。更新は、アップデーターによって最後に読み取られてからドキュメントのバージョンが変更されていない場合にのみ発生します。ドキュメントが更新されていない場合、アプリケーションは状況を解決するために再試行するか、他の処理を行う必要があります。

現在、Node コードは次のようになっています。

Mongo の一括順序付けされていない操作を使用して、(1000) 更新のグループのどれが成功し、どれが実行されなかったかを知る方法はありますか (この場合はバージョンが間違っているため)?

私が遊び始めたコードは次のようになります。

});

0 投票する
0 に答える
125 参照

oracle - 画面から 30k から 40k のレコードをすべて異なる値で更新する

ユーザーがボタンをクリックしてプロセスを開始すると、バックエンドプロセスが一連のレコード (約 20k - 60k ) を異なる値で更新する画面があります (これまでにそうあるべきです)。私が使用している「Where」節は索引付けされていますが、プロセスには約 45 分から 90 分かかります。また、更新しているテーブルには 5,000 万を超えるレコードがあります。これを改善するために私にできることはありますか?

テーブルの分割は役に立ちますか?

0 投票する
1 に答える
354 参照

java - JDBC バッチによる一括更新で SQLException TransactionImpl が発生する

OracleデータベースとJDBCでEJB3を使用しています。

私は 25000 のUPDATEクエリを起動する必要があるアプリに取り組んでいます。

私のコードは次のとおりです。

このメソッドが記述されているクラスには、次のように注釈が付けられていることに注意してください。

このコードは、8000 クエリまで問題なく動作します。それ以上idの s の場合、次の例外がスローされます。

誰でも例外を手伝ってもらえますか?

0 投票する
0 に答える
1084 参照

python - SQLAlchemy - bulk update objects

I'm attempting to do a bulk update with sqlalchemy.

What does work, is selecting the objects to update, then setting the attributes inside of a with session.begin_nested(): statement. The time it takes to do the actual save is slow, however.

When I attempt to use a bulk operation instead via session.bulk_save_objects or session.bulk_update_mappings I get the following exception:

It looks like bulk_save_objects uses the same logic path as bulk_update_mappings.

I actually don't even understand how bulk_update_mappings is supposed to work, because you are providing the updated values and a reference class but the primary key associated with those values are missing from your list. That essentially seems to be problem here. I tried using bulk_update_mappings and I provided the generated dictionary key used for the primary key param (schema_table_table_id in my example) and it just ended up being ignored. If I used the id attribute name instead, it would update the primary key in the generated SQL but still did not provide the needed parameter in the where clause.

This is using SQLAlchemy 1.0.12, which is the latest version on pip.

My suspicion is that this is a bug.