オラクルが説明した計画が良いと見なされるのはいつですか? DB スキーマをリファクタリングしようとしていますが、表示されるクエリが非常に多く、パッケージが非常に遅いです。
たとえば、これは最もひどいクエリの 1 つです。この説明プランを教えてください。
プラン ALL_ROWSコスト: 18,096 バイト: 17 カーディナリティ: 1
クエリを修正する方法は尋ねません。説明計画を適切と見なす方法だけを尋ねます。ありがとう!!
オラクルが説明した計画が良いと見なされるのはいつですか? DB スキーマをリファクタリングしようとしていますが、表示されるクエリが非常に多く、パッケージが非常に遅いです。
たとえば、これは最もひどいクエリの 1 つです。この説明プランを教えてください。
プラン ALL_ROWSコスト: 18,096 バイト: 17 カーディナリティ: 1
クエリを修正する方法は尋ねません。説明計画を適切と見なす方法だけを尋ねます。ありがとう!!
コスト見積もりは、オラクルがあなたの質問に答えるために訪問する必要があるブロックの数についての知識に基づいた推測です。18,096は良い数字ですか?これは、実行していること、サーバーの速度、およびサーバーの実行に必要な速度によって異なります。この数値には絶対値としての意味はほとんどありません。
SQLまたはインデックスを変更してコスト見積もりが下がった場合、それは良い兆候ですが、実際に重要なのは、実際に台無しになるまでの時間です。オラクルは時々ひどく見積もることができます。
とはいえ、ユーザーが待機している間に実行されるものには少し高く見えますが、バッチジョブには妥当です。
Explain Plan の結果を検討する前に、次の用語を理解する必要があります。カーディナリティ - 各操作から得られる行数の見積もり。
• アクセス方法 – テーブル スキャンまたはインデックス アクセスのいずれかを介してデータにアクセスする方法。• 結合方法 – テーブルを相互に結合するために使用される方法 (ハッシュ、ソートマージなど)。• 結合タイプ – 結合のタイプ (外部、アンチ、セミなど)。• 結合順序 – テーブルが相互に結合される順序。
• パーティションのプルーニング – クエリに応答するために必要なパーティションのみがアクセスされていますか?
• 並列実行 – 並列実行の場合、計画の各操作は並列に実行されていますか? 適切なデータ再配布方法が使用されていますか?
カーディナリティの推定、アクセス方法、結合方法、および結合順序の 4 つの主要な要素を確認することによって。実行計画が利用可能な最良の計画であるかどうかを判断できます。http://www.oracle.com/technetwork/database/focus-areas/bi-datawarehousing/twp-explain-the-explain-plan-052011-393674.pdfのホワイトペーパーが役立ちます