ストアド内でカーソルを使用してほかテーブルをCURSORでselectした値を使用しているのですが、これを最適化したいと考えています。
ストアド内で使用するSQL文はあらかじめprepareされているんのでしょうか?
そうでないならそうする方法はありますか? VIEWをあらかじめ作成しておくことで高速化される可能性はありますか?
【現状のソース例】
( pid in number ) return number is
CURSOR C1 is
select num from table1 wrehe id = pid;
R1 C1%ROWTYPE;
ret number(8.0);
begin
OPEN C1;
FETCH C1 INTO R1;
ret = num;
CLOSE C1:
return ret;
end;
ストアド内で使用するSQL文はあらかじめprepareされているんのでしょうか?静的SQLや、バインド変数を使った動的SQLならprepareされています。
VIEWをあらかじめ作成しておくことで高速化される可能性はありますか?VIEWは最適化を妨げるので、速くなる事は無いのでは。
回答ありがとうございます。
prepareされているとわかり安心しました。
VIEWについてはただ使えばよいというわけではなさそうですね。
高速化についてはほかの手段を検討してみます。