問題タブ [bulkinsert]
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.
oracle - ダイレクトパス挿入は、Oracle で一括挿入を行う良い方法ですか?
Oracle (10gR2) を使用して BULK INSERT を処理する最善の方法を見つけようとしていますが、かなり複雑な問題になる可能性があることがわかりました。私が見つけた方法の 1 つは、Append オプティマイザー ヒントを使用することです。
私の理解では、これによりOracleはインデックスを無視し、結果をテーブルの最後に置くようになります。次に、インデックスを再構築するだけです。
これは、SQL*Loader を外部プロセスとして起動したり、pl/SQL を実行したりするよりも簡単です。これはほとんど簡単すぎるようです。足りないものはありますか?私がこのアプローチを取った場合、私を噛むために戻ってくる可能性のあるものはありますか?
linq - Visual Studio C# Linq 一括挿入/更新
最近、Linq を使用して C# アプリケーションを開発しました。処理する必要があるプロファイルのリストを外部データベースから取得しています。一部は新規で、一部は既にデータベースにあり、更新する必要があります。私が今日行っていることは、プロファイル リストを調べて、各プロファイルが存在するかどうかを確認し、そうでない場合は挿入することです。このソリューションは正常に機能しています。
UPDATE ON DUPLICATE のような一括挿入/更新を使用する方法があると確信しています。取得するファイルが巨大で、一括挿入/更新の方がパフォーマンスが優れていることが知られているため、この方法で時間を節約できます。現在使用している反復を避けたいと思います。
insertall は既に保存されている行では機能しません。更新と挿入の両方を組み合わせる必要があります
これが私のコードです。あなたの助けに感謝します。
hibernate - Spring/Hibernateを使用したバルクインサート
私は自分のアプリケーションでSpring/Hibernateのミックスを使用しています(オリジナルはありません)。特定の機能について、CSVファイルのコンテンツをOracleDBのテーブルにインポートする必要があります。今のところ、私はオブジェクトを作成するだけです。
それらのそれぞれに(新しく割り当てられたIDを取得する必要があります)
次に、SpringトランザクションAPIを使用して、メソッドの最後でトランザクションが発生します。
パフォーマンスを除いて、すべてが正常に機能します。パフォーマンスは、5000のオブジェクトには適切ですが、100000には適切ではありません...
だから私はこのようなものを加速するためのアイデアを探しています。Hibernateでの一括挿入について聞いたことがありますが、確実な参照は見つかりませんでした。このインポートをより優れたパフォーマンスで実行するためのアイデアを誰かに教えてもらえますか?
sql-server - 行/行番号をテキスト ファイルにすばやく追加する方法
約1200万行のファイルがあり、各行は次のようになります。
0701648016480002020000002030300000200907242058CRLF
私が達成しようとしているのは、データの前に行番号を追加することです。番号は固定長でなければなりません。
この背後にある考え方は、このファイルを SQLServer テーブルに一括挿入し、各行に一意の識別子を必要とする特定の操作を実行できるようにすることです。データベース側でこれを試してみましたが、良いパフォーマンスを達成できませんでした (少なくとも 4 フィート未満、1 フィート未満が理想的です)。
現在、私はこのような解決策をPythonで試しています。
これが機能するかどうかはわかりませんが、新しいことを試す前に、どのように機能し、副作用があるかを理解するのに役立ちます.
低レベル言語でそれを行うのに役立ちますか? 誰もこれを行うためのより良い方法を知っていますか?私はそれが行われたと確信していますが、何も見つけることができません.
ありがとう
php - 挿入選択を使用するか、挿入でループスルーする必要がありますか?
これからの回答を使用して、ユーザー名のリストを抽出しました:
クエリに OR 演算子が多すぎる場合、mysql クエリを最適化する方法は?
今、私は別の問題を抱えています。リクエスターとバディの両方が複合主キーを形成する、2つの列だけで構成されるフレンドテーブルがあります。
上記のSOの質問を使用して、特定のユーザーのFacebookの友達の配列があるとします。
Web アプリでも自動的に友達にするにはどうすればよいですか?
つまり、「usera」というユーザーに 5 人の実際の友達がいるとします。10 個の挿入ステートメントを実行する必要があります。
例: friendA, usera と usera, friendA のように、friendA が usera の友達として反映されるようにします。
挿入選択が効率的であることを理解しています。残念ながら、これらの友人のユーザー名のリストは、上記の質問で仲間の SO メンバーによって提案されているように、IN 句を使用して値の PHP 配列を介して取得されます。
それで、私は何をすべきですか?
するべきか
a) 名前をループして、ステップごとに 2 つの挿入ステートメントを実行しますか?
b) 挿入選択を使用しますか? しかし、それを正確に行う方法は?
私のDBはこのように設計されています:
ユーザー名と fb_uid を持つユーザーと呼ばれる 1 つのテーブル。ここで、ユーザー名は主キーであり、fb_uid は null 可能です。
リクエスターと呼ばれる列とバディと呼ばれる別の列を持つ友人と呼ばれる1つのテーブル。両方の列が複合キーを形成します。
友達テーブルに (usera, userb) と (userb, usera) のデータがある場合、私の Web アプリで 2 人のユーザー (usera, userb) の間に友情が確立されます。
ありがとうございました。
php - 一括挿入 mysql - 無視句を使用できますか? いいえに制限はありますか。一括挿入のレコードの数?
挿入したいデータがたくさんあるので、mysql に一括挿入を使用することにしました。
友人 (リクエスタ、バディ) 値 (値 1、値 2)、(値 2、値 1)、(値 3、値 4)、(値 4、値 3)、... に挿入します。
私は次のことを知りたいです:
1) 無視できますか? 例えば
友達 (リクエスター、バディ) 値 (値 1、値 2)、(値 2、値 1)、(値 3、値 4)、(値 4、値 3)、... に無視を挿入します。
重複した場合はどうなりますか? a)すべてを挿入しませんか?b) 重複レコードの前にレコードを挿入し、その後データの処理を停止しますか? c) 重複を無視して、残りを続行しますか?
2)数に制限はありますか?このような一括挿入に使用できるレコードの数は?
ありがとうございました。
sql-server - SQL Server Express 2005 で一括挿入が機能しない
SQL Express 2005 DB へのデータの一括挿入に問題があります。
私は次のコードを使用しています:
次のエラーが表示されます。
インポートしようとしているデータファイルは、ここにあります。
どんな助けも感謝します。
更新 1 ここでは、私が使用しているデータの例を示します。
更新 2
私は今それらをインポートすることができました。テキストを新しいファイルにコピーし、これを test.txt として保存しただけです。なぜこれが機能するのかわかりません。ファイルのエンコードが原因である可能性があります。ファイルは UTF8 でエンコードされています。
oracle - SQL * Loaderの従来のロードパスを使用するのはなぜですか?
SQL * Loaderの従来のパスについての私の理解は、それがINSERTステートメントを生成し、それらをデータベースに送信するだけであるということです。プログラムでSQLステートメントを生成してデータベースに対して実行するだけでなく、これを使用することでパフォーマンス上の利点はありますか?
c# - 一括挿入、asp.net
メンバーに対応するID番号のリストを取り込む必要があります。それらは、いつでも処理される10から10,000までのどこでもかまいません。データの収集、データの解析、およびDataTableなど(C#)へのロードに問題はありませんが、データベースでいくつかの操作を実行したいと思います。このすべてのデータをテーブルに挿入するための最良の方法は何ですか?
各ステートメントに対してaを実行して、10,000回挿入したくないと確信しています。
oracle - SQL*Loaderで移植不可能なデータ型を使用する場合、何を知っておく必要がありますか?
SQL*Loaderのリファレンス マニュアルのセクションを読みましたが、ちょっと理解できませんでした。私たちのクライアントはすべて x86 を実行しているので、バイト順について心配する必要はないと思います。ただし、32 ビット OS で実行している顧客もいれば、64 ビット OS で実行している顧客もいます。これが原因で問題が発生しないようにするには、正確に何をする必要がありますか?