私は多くの解決策を試しましたが、まだ何かを理解していません:単純な挿入 (異なる種類の 40 列 (ブロブを含む) を使用) を取得し、この種のデータ受け渡しを挿入しようとしています (私は C# から Odac を使用します) 値の配列パラメータごとに。
結果は、多かれ少なかれ4000行のExecuteNonQueryの1回の呼び出しです。問題は、要素があまりないこの挿入が3時間続くことです。
なにか提案を?データソースはソフトウェアからのものであるため、db、そのメモリデータにリンクすることはできません。それらを配列に入れて、実行する oraclecommand の入力パラメーターとして渡すだけです。
この場合、ストアドプロシージャを使用すると違いがありますか? なぜ?
挿入は実際にはトランザクションにありますが、挿入しようとしているテーブルにはまったくインデックスがありません.dbは100個のテーブルを持つOracle XEの通常のインストールであり、トランザクションにはこの挿入だけが含まれ、それほど大きくない他のいくつかのアクションが含まれます. 挿入しようとするデータの合計は最大 100 Mb です...何をもう一度確認すればよいかわかりません:(
繰り返しますが、トランザクションはパフォーマンスに影響を与えていないようで、速度は線形ではありません。つまり、1000 要素 = 10 分、4000 要素 = 3 時間..すべて CPU 100% でメモリを大量に使用します。