人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

Oracle9iでのストアドファンクション(PL/SQL)内のSQL文をprepareしておく方法を教えてください。
ストアド内でカーソルを使用してほかテーブルを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;

●質問者: fslasht
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:BEGIN Number open PL/SQL r1
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● samejima
●60ポイント ベストアンサー

ストアド内で使用するSQL文はあらかじめprepareされているんのでしょうか?
静的SQLや、バインド変数を使った動的SQLならprepareされています。

VIEWをあらかじめ作成しておくことで高速化される可能性はありますか?
VIEWは最適化を妨げるので、速くなる事は無いのでは。
MATERIALIZED VIEWなら、使い方によっては速くなります。

◎質問者からの返答

回答ありがとうございます。

prepareされているとわかり安心しました。

VIEWについてはただ使えばよいというわけではなさそうですね。

高速化についてはほかの手段を検討してみます。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ