0

Oracle の説明プランのコストによって、特定のクエリが他のクエリよりも (パフォーマンス、リソース使用、ディスク アクセスなどの点で) 最も効率的かどうかが常に判断されるかどうかを知りたいですか?

私の質問は、2 つのテーブルがあるためです。

  • ローカル パーティション インデックスを持つもの。
  • もう 1 つはグローバル パーティション インデックスです。

どちらも同じ構造と同じデータを持っています。次に、クエリがあります。コストは大幅に異なります。グローバル パーティション インデックス 1 のコストは非常に低く、ローカル パーティション インデックス 1 のコストは非常に高くなります。ただし、SQL Developer でクエリを実行すると、グローバル パーティション インデックスを含むテーブルの応答時間が長くなります。

ありがとう。

4

1 に答える 1

2

2 つの異なる SQL ステートメント間でコストを比較することはできません。より高いコスト = より高いランタイムまたは IO/CPU 使用率であると推論することはできませんし、また推論すべきではありません。

コストは、特定の sql ステートメントに対して可能なすべての sql プランを計算するときに oracle が適用する内部ランキングです。これまで見てきたように、1 つの SQL の低コストは、高コストの SQL よりも実行に時間がかかります。コストの数値は、SQL ヒント (first_rows など)、テーブルの統計、システム レベルの統計 (負荷統計、optimizer_index_cost_adj/optimizer_index_caching での異なる数値の設定など) など、非常に多くの影響を受けます。

常に IO/CPU (つまり、実際のリソース使用量) によって SQL を調整します。本当に「コスト」を無視してください。

ここも参照してください: http://asktom.oracle.com/pls/apex/f?p=100:11:0::::P11_QUESTION_ID:313416745628

于 2012-11-25T00:35:00.813 に答える