問題タブ [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.
oracle12c - Oracle Trace ファイルで、複数の PARSE / EXEC / CLOSE を単一のカーソルに対してどのように解釈するのですか?
いくつかの Oracle トレース ファイルを解読しようとしていますが、単一のカーソルのように見える複数の PARSE / EXEC / CLOSE ステートメントを解釈する方法がわかりません。次のようなもの:
等々。私は、PARSING IN ステートメントを繰り返さなくても、12 をはるかに超える数を数えています。これをどのように解釈すればよいでしょうか?
sql - EXISTS によるパフォーマンスの最適化
私は、Oracle Exadata サーバーで最大 4,000 万行を処理する DWH 供給スクリプトに取り組んでいます。
次のテーブルがあります。
ご覧のとおり、IS_DELETE
設定できるフラグがY
あります (デフォルトでは NULL です)。
これは、私があらゆるところで使用する必要がある標準的なクエリです:
質問、次のインデックスよりもこれを最適化するより良い方法はありますか?
さらにいくつかのポイント:
P.ARCHIVED_ID
せずにアクセスすることはありませんWHERE IS_DELETE = 'Y'
(または、スクリプトの最初でこのフィールドを更新するときに 1 回だけ)間違いNULL
デフォルトでは、Oracle はインデックスに登録しないので、NULL
代わりにを使用"N"
して、部分的な="Y"
ビットマップ インデックスを作成し、可能な限り小さく便利に保ちます。- オラクルが推奨するように(インデックスを使用する機能)
EXISTS
、代わりにを使用します。IN
- の部分
IS_DELETE = 'Y'
は今のところ 0% ですが、DWH であるため、増加することが予想されます (新しい行はデータ ソースで毎日作成され、古い行は物理的に削除さIS_DELETE = 'Y'
れ、DWH に設定されるため) - これ
WHERE EXISTS
は、アーカイブされた値を凍結する方法であるため、私のスクリプトで約 20 回使用されます (それらを移動して、insert append
ヒント付きで一時テーブルに戻します) 。
oracle - 同じフィールドと照合するオプションのバインド変数
障壁: 何も作成できません。GTT や PROC などはありません。Exadata データ レイクにクエリを実行しており、作成したスクリプトはすべて Toad または SQL Developer から実行されます。プラットフォームは Oracle 11g です。
日付範囲と DNIS (基本的に、IVR コール フローを識別する番号) の 2 種類のパラメーターに依存するセルフサービス レポートを作成しています。少なくとも 1 つの DNIS があり、最大で 3 つある可能性があります。
:DNIS1、:DNIS2、および :DNIS3 の 3 つのバインド変数を作成したいと考えています。これらの変数には、1 つ以上の変数が設定され、そうでない場合は NULL が設定されます。
理論的には:
おそらく、より良い質問は次のとおりです。私の制限を考えると、動的な IN() 句をどのように作成しますか? これは可能ですか?