問題タブ [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.
sql - 準備されたステートメントによる Oracle DB からの値の配列の取得
私たちのバッチ プロジェクトでは、シェル スクリプトを実行し、それが次に Web サービスを呼び出します。私たちの要件は、DB 2 データベースで選択クエリを実行し、たとえば 1000 の A_TYPE アカウントを取得することです。次に、これらのアカウントを使用してリストを取得する必要があります。 ORACLE DB からの準備済みステートメントで A_TYPE アカウントを使用することによる、他のアカウント (A_TYPE、B_TYPE 列) の。
問題は、1000 個の A_TYPE アカウントごとに、ステートメントを 1000 回準備し、それを 1000 回実行して B_TYPE アカウントを取得する必要があることです。時間がかかり、あまり効率的ではありません。
したがって、誰かが A_TYPE アカウントのリストまたは配列を渡し、A_TYPE、B_TYPE アカウントのリストまたはハッシュマップを取得して、それらをさらに使用できるようにする方法を提案できれば、非常に役に立ちます。また、A_TYPE アカウントの代わりに B_TYPE アカウントを使用して Db2 DB を更新する必要があります。私のロジックはすべて、Web サービス操作 (JAVA) 自体に記述されています。
アップデート:
はい、JNDI 名を使用して DB に直接アクセスしています。Web サービス ハンドラー ロジックでは、両方の DB を呼び出します。JNDI 名を使用してアクセスするため、使用されている DB2 のバージョンはわかりません。Oracle は 10 gi のようなクエリを持っています。
いいえ、トランザクションについて心配する必要はありません。ホスト変数と DB2 動的クエリについてはわかりません。
java - Oracle でのバッチ ステートメントの実行: sendBatch() と executeBatch()
Oracle データベースへの挿入ステートメントのバッチを実行する Java コードを書いています。私が使用できる、またはこれを行うためにいくつかのドキュメント(http://docs.oracle.com/cd/B28359_01/java.111/b31224/oraperf.htm)を見てきました。2 つのアプローチの違いは何か、あるいはなぜどちらを選択するのかについて、私は少し混乱しています。多分私は私の読書で何かを逃しただけです.sendBatch()
executeBatch()
違いが何であるかを明確に説明できる人はいますか?また、あるアプローチを他のアプローチではなくいつ使用する必要があるかをどのように判断できるでしょうか?
sql - データベースの一括更新
バッチ更新の定義とパフォーマンスに関して、これら 3 つのソリューションの違いは何ですか。
1)
2)
3)
またはBatch=true
MyBatis構成で設定
asp.net-mvc - インセル編集なしの剣道一括更新
Kendo Grid で InCell Editing を有効にせずに ajax バッチ更新を実行しようとしています。ユーザーが一連の行を選択できるようにし、それらを特定のステータス (ドロップダウンから選択) としてマークしてから、バッチ更新を実行できるようにしたいと考えています。現在選択されているグリッド項目をカスタム ツールバー アクションで渡す方法はありますか? 何かのようなもの:
java - JdbcBatchItemWriter を介して主キーに基づいて挿入/更新します。この場合、オラクルのマージにパフォーマンス上の問題はありますか?
レコードが既に存在するかどうかに基づいて、レコードを挿入または更新する必要があります。
JdbcBatchItemWriter を使用してレコードを書き込んでいます。しかし、主キーを持つレコードが既に存在する場合は、それを更新する必要があります...
したがって、1つの解決策は次のとおりです。
挿入用と更新用の 2 つの個別のリストを作成するには (注: レコードが既に存在するかどうかを毎回プロセッサでチェックして、リストの 1 つにレコードを追加する必要があります)、ライターに 2 つの異なる JdbcBatchItemWriter インスタンスを作成します。 、 例えば:
バッチ更新時にすでに存在するレコードに基づいてライターのクエリを切り替える他の方法はありますか...つまり、1つだけです
マージ クエリを使用することを考えていますが、パフォーマンスの問題はありますか?
grails - grails での一括更新
私は grails 2.2.2 と mysql データベースを使用しています。テーブルには 800 のレコードがあります (時間の経過とともに増加します)。いくつかの計算に基づいて、特定の列の値を新しい値に更新する必要があります。パフォーマンスに影響を与えない方法を提案してください。
ios - 移動後にコレクション ビューのセルがリロードされない
を使用しUICollectionView
て、フィールド上のさまざまな位置にいるプレーヤーを表示しています。各セルには、プレーヤーの名前とポジション名を示すラベルが含まれています。ビュー内の位置は、データ ソースから位置情報を読み取るカスタム レイアウトによって決定されます。つまり、フロー レイアウトのように、フィールド上の位置はデータ ソース内のインデックスとは関係ありません。セルもさまざまな位置で少し異なります...「cellForItemAtIndexPath」は、位置に応じてさまざまな再利用識別子から選択します。
ユーザーがポジションのプレーヤーを交換できるようにしたい。コレクション ビューのデータ ソースを更新して を呼び出すだけで、すべてが完全に機能します[self.collectionView reloadData]
。しかし、ユーザーが変更を確認できるように、セルのスワップをアニメーション化したいと考えています。私はこのコードを使用しています.inboundSourceIndexとoutboundSourceIndexは以前にスワップしているアイテムに設定されています:
バッチ更新を挿入した後、セルが互いに入れ替わるように見える目的のアニメーションを取得し、プレーヤー名ラベルが正しく表示され、レイアウトがセルに適切なフレームを提供します (これは異なる場合があります)。しかし、それ以外はすべて混沌としています。位置ラベルは更新されず、セルは正しい再利用識別子でリロードされません。これは、collectionView が実際にはcellForItemAtIndexPath
. データの更新と reloadData の順序を変更しようとしましたが、役に立ちませんでした。セルを移動すると indexPaths が一時的に変更される可能性があることはわかりますが、invalidateLayout
andを呼び出した後、collectionView がどのように間違って見えるのreloadData
でしょうか? それは、データ ソースに基づいてゼロからビューを構築することではありませんか?