問題タブ [exadata]
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.
sql - Oracle 挿入パフォーマンス
範囲パーティション分割され、2 つのローカル インデックスを持つテーブルに、外部テーブルからデータを挿入します。
私の場合、
新しいファイルが来るので、各フラット ファイルに 60 秒未満のレコードを挿入する必要があります。
フラット ファイルは +5 M レコードと 2 GB で構成されます (ボリューム: 1 日あたり合計 50 億レコード)。さらに、外部テーブルの選択に挿入する前に、いくつかの並べ替え操作を行います。
私の環境は、Oracle ExaData X-5 12.2 バージョンです。
同じテーブルに同時に挿入を行うプロセスが多数あるため、追加ヒントを使用できません。並列ヒントとログなしヒントを使用できます。
このすべてのプロセスを管理する .exe があります。ソースからフラットファイルを取得し、フラットファイルがもう1つある場合はそれらを結合し、結合ファイルを外部テーブルの真のディレクトリに移動し、外部テーブルから自分のテーブルにデータを挿入するプロシージャを呼び出します。最後にフラットファイルを次のものに変更します。
異なるフラット ファイルごとに 1 つの .exe があります。
外部テーブルからのすべての選択操作には 35 ~ 40 秒かかりますが、挿入には 50 ~ 60 秒かかりすぎます。
有益なアドバイスをいただけますか?
database - Oracle Exadata の挿入と更新をどのように改善できますか?
挿入クエリと更新クエリは、選択クエリと比較して時間がかかります。ここにテーブルのいくつかの統計があります -
テーブルには月次データが格納されています。今月は MTD です。今月のデータは毎日削除され、読み込まれています。
毎日の挿入行数 - 250 万、毎日の削除時間 - 1 分未満、テーブルには 13 か月分のデータがある、250 万行の挿入にかかった時間 - 2 時間 20 分、1 か月間のレコードの選択にかかった時間 - 1 か月未満分
データの挿入に使用するツールは Informatica Power center です。Informatica は、DB へのクエリ プッシュ ダウン アプローチを使用しています。
データベース レベルでテーブルにデータを挿入する時間を短縮する方法を提案してください。