問題タブ [batch-insert]

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 に答える
1633 参照

android - 2 つのフィールドに基づく contentProvider による一括挿入/更新

私は contentProvider を作成しています。複数の DB レコード (contentValues) を送信して、単一のバッチ操作を使用して単一のテーブルに挿入または更新できるようにしたいと考えています。

それ、どうやったら出来るの?

batchInsert は の挿入のみを目的としていますが、既に存在するものを挿入しても何も起こらないということではないでしょうか?

また、更新操作で特別な制約を使用する方法はありますか? たとえば、主キーを無視し、一緒に一意である他の 2 つのフィールドに基づいて更新する必要があります。

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

mysql - mysql で遅いバッチ挿入クエリをトレースする

ある時点で MySQL テーブルに何千もの挿入を実行するプログラムがあります。これらの挿入はトランザクションに囲まれています。本番データ (コピーされた prod. db) を使用して開発マシンでコードを実行すると、完了するまでに数分かかります。本番環境で実行すると、30 分以上実行されます。

dev サーバーと prod サーバーの両方が MySQL 5.1 を実行します (マイナー バージョンの違い、prod では 5.1.64 対 5.1.41)。サーバーは、12 コア、16GB RAM、高速ディスクなどを備えた強力なマシンです (私のちっぽけな開発コンピューターと比較して)。唯一の違いは、本番マシンが MySQL レプリケーション マスターでもあることです。ただし、私が書き込む特定のスキーマは複製されません。

問題を構成値に置くことに傾いていmy.cnfますが、他のアイデアが役立ちます。また、特定のスキーマはレプリケートされていませんが、binlog (セクションbinlog-ignore-db = <db-name>[mysqld]) でも無視されていないことに気付いたので、これも調査したいと考えています。

何千もの挿入規模のトランザクションの速度を向上させるために、構成値で注意を払う必要があるその他の危険信号は何ですか? バッチ挿入のパフォーマンスを向上させるには、他にどこを探す必要がありますか? ありがとう。

EDIT - これを行うコード (非常に簡略化)

ルビーで、mysql2アダプターを使用:

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

java - JDBCバッチの実行が非常に遅い

誰かが私が間違っていることを教えてもらえますか?私はmysqlで350の挿入を実行していて、40秒ほどかかります。

これがコードです

これがコンソールです:

それで、.executeBatch()40秒ほどかかりますが、何が問題になる可能性がありますか?

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

java - 休止状態で挿入のバッチをコミットする方法は?

休止状態を使用して多数のオブジェクトをデータベースに保存する必要があります。それらすべてを一度にコミットする代わりに、n (BATCH_SIZE) 個のオブジェクトがセッションに存在するとすぐにコミットしたいと考えています。

上記のようなことを試してみsession.flush()ましたが、データベースへの変更をコミットしていないことを読みました。これは、次のコードが正しい方法ですか?

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

mysql - MySql、LOAD DATA、BATCH INSERT、またはその他の一括挿入のより良い方法

Webアプリケーションを作成しようとしています。主な目的は、リクエストデータをデータベースに挿入することです。

これが私の問題です。1つのリクエスト自体に10,000〜1,00,000の情報のデータセットが含まれています(各データセットはデータベースの行として個別に挿入する必要があります)

このアプリケーションで同時に複数のリクエストを受け取る可能性があるため、挿入を高速化する必要があります。

MySQLデータベースを使用していますが、どちらのアプローチが私に適していますか、LOAD DATAまたはBATCH INSERTこれら2つよりも優れた方法がありますか?

アプリケーションはこの情報をどのように取得しますか?-このテーブルからレコードを選択して1つずつ処理し、削除する別のバックグラウンドスレッドベースのJavaアプリケーションがあります。

システムが一度に1つのバッチを処理するように、リクエスト(バッチ)をキューに入れることができますか?-今のところ、データベースにすぐに挿入することを考えていますが、このアプローチが十分に実行可能でない場合は、データをキューに入れることを考えるかもしれません。

情報の取得は、新しいデータの挿入と同時に行う必要がありますか?-はい、私たちはそれを並行して維持しています。

ここにあなたの質問に対する特定の答えがあります、Ollie Jones

ありがとうございました!

0 投票する
5 に答える
54644 参照

python - Python を使用して Oracle データベースにバッチ挿入を行うにはどうすればよいですか?

Oracle データベース テーブルに挿入したい毎月の気象データがありますが、より効率的にするために、対応するレコードをバッチで挿入したいと考えています。Pythonでこれを行う方法について誰かアドバイスできますか?

たとえば、テーブルにステーション ID、日付、2 つの値フィールドの 4 つのフィールドがあるとします。レコードは、ステーション ID と日付フィールド (複合キー) によって一意に識別されます。各ステーションに挿入する必要がある値は、X 年分のデータを含むリストに保持されます。たとえば、2 年の値がある場合、値リストには 24 個の値が含まれます。

一度に 1 つずつレコードを挿入したい場合は、以下のようにすると思います。

上記のことを行う方法はありますが、効率を上げるためにバッチ挿入を実行する方法はありますか? ところで、私の経験は Java/JDBC/Hibernate に関するものなので、誰かが Java アプローチと比較した説明/例を提供できれば、特に役に立ちます。

編集:おそらくここで説明されているように、cursor.executemany() を使用する必要がありますか?

提案、コメントなど、事前に感謝します。

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

bulkinsert - バッチ挿入操作に MyBatis ExecutorType.Batch を使用するときにバッチサイズを制御する方法

mybatis バッチ実行 (ExecutorType.BATCH) サポートを使用しようとしています。データベースのパフォーマンスとスケーラビリティの理由から、少数のレコードをバッチ挿入したい。デフォルトの Mybatis バッチ サイズをオーバーライドしたい。プログラムでバッチサイズを設定する方法が見つかりませんでした。デフォルトのバッチサイズを上書きする方法はありますか? 参照用のコードは次のとおりです。

ありがとう。

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

oracle - Oracle fom Nhibernate バッチ挿入が機能しない

ここにいくつかのコードがあります:

同じコードと同じ構成ですが、オラクルはバッチ挿入ではありません。

追加してみます

null オブジェクトをスローします。

0 投票する
2 に答える
14955 参照

java - OracleでJDBCバッチ挿入から生成されたキーを取得するには?

JDBC バッチ挿入を使用して多くのレコードを挿入しています。レコードごとに生成されたキーを取得する方法はありますか? ps.getGeneratedKeys()一括挿入で使用できますか?

私は使っているoracle.jdbc.OracleDriver

目的の結果を得るために、ループ内で使用ps.executeUpdate()することを考えています。ps.getGeneratedKeys()他の解決策はありますか?

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

maven-3 - Maven プラグイン エラー: テストに失敗しました

Maven (neo4j のバッチ インポーター) を使用してプラグインをインストールしようとしています。使用する

ディレクトリを作成できないというエラーが表示されました。私はそれを次のように変更しました:

次のテストのためにビルドが失敗するまで、動作しているように見えました。

これまでMavenを使用したことがないので、これは非常に不可解です。これらが何を意味するのか、どうすれば問題を解決できるのか、誰にも分かりますか? さらに情報を提供できる場合は、お尋ねください。

ありがとうございました。