VBAモジュールを使用して、6時間ごとにOracle Database表に千以上の行を挿入する必要があります。毎回の実行中にVBAで複雑な予測計算が行われ、その結果の値をデータベースに挿入する必要があります。行をOracle DBに挿入する際にパフォーマンスを向上させる方法はありますか?
典型的な出力範囲は、1000行以上13列です。
現在、私は行単位で挿入し、さらに各挿入後に自動コミットを実行します(ADO DB デフォルトの)。ここでパフォーマンスを向上させるためのより良い方法やプロセスがありますか?
現在、サーバの負荷によって20〜40分かかります。パフォーマンスの改善提案。 APPENDヒントを使用して
がはVBAわからない場合に役立ちます
私はその時間がOracleでどれくらいで、VBAにどれくらいの時間があるのだろうか。 DBMS_MONITOR.SESSION_TRACE_ENABLEを使用して拡張されたSQLトレースを使用すると、時間の使用場所を特定するのに役立ちます。 –
これは1000行では非常に遅いです。挿入物をパラメータ化しようとしましたか?ただ一つのコミットをするだけでも速くなります。 –
すべての挿入後にADO DBの自動コミットが行われていますが、私は以下のJens Schauder氏のコメントを調べています。 –