Oracleのインデックス作成とSPのパフォーマンス

database database-performance indexing oracle sql
Oracleのインデックス作成とSPのパフォーマンス

いくつかのレガシーSQL SPを、それぞれが同じフィールド(数値ID)で結合された6つのテーブルから構築されたOracleビューに対して最適化しようとしています。 ビュー内のテーブルには、このIDフィールドのみのインデックスを持つものとそうでないものがあります。

このフィールドのみを使用してビューの残りのテーブルにインデックスを作成し、このフィールドを唯一のパラメーターとして使用して実際の選択クエリを実行すると、パフォーマンスが大幅に向上しますか? SPに他の欠陥がある可能性があるため、必要に応じてs.procを投稿できますが、インデックス付けだけでは解決できない場合があります。 問題のクエリは、1行を返すのに約6秒かかります。いずれのテーブルにも大量のレコードが含まれておらず、いずれにせよ100,000レコードを超えていません。

前もって感謝します、

スコット

  1  0


ベストアンサー

ビューのすべてのテーブルに、idフィールドで始まるインデックスがあることを確認してください。 idフィールドが最初である限り、インデックスはより多くのフィールドを含むことができます。

それでもパフォーマンスが改善されない場合は、選択ステートメントと説明計画を投稿してください。

0


IDフィールドがインデックスの最初の列(または唯一の列)である場合、必要な残りのテーブルのID列にインデックスを追加すると、少数の行を返す場合にクエリが改善されます。

0


タイトルとURLをコピーしました