問題タブ [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.
java - JPA/EJB3 を使用したバッチ挿入
JPA/EJB3 フレームワークは、バッチ挿入操作を行う標準的な方法を提供していますか? 永続化フレームワークに hibernate を使用しているため、Hibernate Session にフォールバックし、session.save()/session.flush() の組み合わせを使用してバッチ挿入を実現できます。しかし、EJB3 がこれをサポートしているかどうかを知りたいです...
php - バッチ挿入と準備済みクエリ エラー
では、MS Access データベース テーブルに MySQL クエリの結果を入力する必要があります。それはまったく難しいことではありません。テンプレート .mdb ファイルを一時名にコピーし、odbc 経由で開くプログラムを作成しました。今のところ問題ありません。
Access がバッチ挿入 ( ) をサポートしていないことに気付きましたVALUES (foo, bar), (second, query), (third query)
。つまり、行ごとに 1 つのクエリを実行する必要があります (数十万行になる可能性があります)。初期パフォーマンス テストでは、Access への 1 秒あたり約 900 の挿入率が示されています。私たちの最大のデータ セットでは、実行時間が数分になる可能性があります (これで終わりというわけではありませんが、明らかに速ければ速いほど良いのです)。
というわけで、プリペアドステートメントをテストしてみました。しかし、エラーが発生し続けます ( Warning: odbc_execute() [function.odbc-execute]: SQL error: [Microsoft][ODBC Microsoft Access Driver]COUNT field incorrect , SQL state 07001 in SQLExecute in D:\....php on line 30
)。
私が使用しているコードは次のとおりです (30 行目はodbc_execute
):
だから私の質問は2つあります。?
まず、なぜそのエラーが発生するのかについての考えはありますか (確認しましたが、配列内の数値は、パラメーターマーカーの数と一致するフィールド リストと一致します)。そして第二に、私はこれを気にするべきですか、それともまっすぐな INSERT ステートメントを使用するべきですか? 私が言ったように、時間は重要ではありませんが、可能であれば、その時間をできるだけ短くしたいと思います (繰り返しになりますが、900 オペレーション/秒はすでに高いため、ディスクのスループットによって制限される可能性があります)。 .
ありがとう
activerecord - codeigniterアクティブレコードでselectを使用してレコードを挿入する方法
CodeIgniter Active Record クラスを使用して SQL クエリを実装したいと考えています。クエリは次のようになります。
$this->db->query メソッドを使用せずに CodeIgniter でこれは可能ですか?
解決策:
よろしく
mysql - Codeigniter SQL に複数の行を挿入する
私はCodeigniterに新鮮です。私はこのような形をしています。
行数は 0 ~ n 行、通常は 5 ~ 10 行です。それらをSQLに挿入するにはどうすればよいですか? これは Codeigniter で可能ですか、それともネイティブ PHP スクリプトを使用する必要がありますか?
これは私がしました。できます。しかし、解決策は洗練されていないようです。
kevtrout の回答はより良く見えますが、現在多くのエラーが発生しています。
一度にすべてのデータを挿入する方法はありますか?
sql - Postgresql バッチ挿入エラーを無視する
次の単純な SQL クエリを想定します。
val3
の無効な値としましょうcol1
。これにより、psql は INSERT コマンド全体を中止します - 挿入も挿入(val1,val2)
もしません(val5,val6)
。
(val3,val4)
postgresql にこのエラーを無視させて、ペアを挿入せずに(val1,val2)
and を続行させることはでき(val5,val6)
ますか?
パートナーから毎日データベース ダンプをテキスト ファイルで受け取っています (変更できません)。これを使用してコピーを作成しています。彼の巨大な INSERT クエリは、次のようなエラーを引き起こすことがあります。
...これらの値の1つが間違っているため、30000以上の値全体がテーブルに挿入されません。
sql - BLToolKit: オブジェクトのリストを挿入する方法は?
BLToolKit (http://bltoolkit.net) で、オブジェクトのリスト (バッチ挿入) 用のレコードのセットを作成することはできますか?
はいの場合、これはどのように可能ですか?
どうもありがとう!
java - Java:PreparedStatementを使用してMySQLに複数の行を挿入します
Javaを使用してMySQLテーブルに一度に複数の行を挿入したい。行数は動的です。過去に私がやっていたのは...
MySQLでサポートされている構文を使用するようにこれを最適化したいと思います。
しかし、PreparedStatement
要素がいくつ含まれるかを事前に知らないので、これを行う方法がわかりませんarray
。でそれが不可能な場合PreparedStatement
、他にどのようにそれを行うことができますか(それでも配列の値をエスケープできます)?
sql-server - グループ挿入によりSQLサーバーのオーバーヘッドを削減
Webページ全体でドキュメントをフェッチするクローラーがあります。ページを受信すると、すぐにコンテンツをSQLサーバーに挿入します(1秒あたり20挿入)。これにより、アプリケーションとサーバーの応答性が低下します。グループで20個のアイテムを収集し、(20 * fieldCount)を指定したストアドプロシージャを使用して挿入できると思いました。
これにより、SQLサーバーのオーバーヘッドが少し減少しますが、200パラメーターをSQLサーバーのストアドプロシージャに渡しても、別のオーバーヘッドが発生しないことはわかりません。私を助けてください。この頻繁な挿入のオーバーヘッドを最小限に抑えるためのより良い方法はありますか?
java - Neo4j での一括挿入時の数値インデックス
ノードとリレーションシップを Neo4j グラフ データベースに一括挿入しています。複数のプロパティのインデックスを含め、すべてが機能します([String] name, [int] id)
。ただし、プロパティ「id」のインデックスを範囲でクエリしようとすると、結果が返されません。
問題は、非バッチの例から導き出したように、数値ValueContext
を次のBatchInserterIndex
ように指定できないことです。
バッチ挿入中の数値インデックスに関するドキュメントは見つかりませんでした。
クエリ コードは次のとおりです。
バッチ挿入操作で数値インデックスを追加して、範囲で値をクエリできるようにすることはまったく可能ですか?
ありがとう。
編集
私が間違っていたのは、同じプロパティ マップをcreateNode()
andに渡そうとしたことindex.add()
です。前者は、必要ValueContext
がなく、理解していないため、クラッシュしていました。したがって、これらのメソッドに異なるプロパティ マップを渡して、ValueContext
-ed 数値を対象のメソッドに含めるようにしてindex.add
ください。
sql-server - T-SQL、サブクエリでMAX()+ 1を使用して挿入してもインクリメントされません、代替案はありますか?
IDのない主キーを使用して行をテーブルに「バッチ」挿入する必要があるクエリがあります。
(簡略化された例-同時実行の問題についてコメントしないでください:-))
問題は、処理された行ごとにPKがインクリメントされず、主キー違反が発生することです。
カーソル/whileループでそれを行う方法を知っていますが、それを避け、可能であれば、セットベースの方法で解決したいと思いますか?
(SQL Server 2008 Standardの実行)