- PR -

odp.netでのバインド変数の使用について

1
投稿者投稿内容
hal
常連さん
会議室デビュー日: 2004/02/17
投稿数: 29
投稿日時: 2004-06-07 12:59
お世話になっております。

当方asp.net(C#),odp.netにてwebアプリケーションの開発をしています。
早速質問させて下さい。
odp.netにてoracleにアクセスする時に性能向上、共有メモリー節約の為にバインド変数を使用したいと考えています。
一般的にバインド変数を使用する時は

where aaa = :AAA and bbb = :BBB

としてAAAとBBBに代入パラメータを割り当てるのですが、
例えば

where :CCC

としてCCCに「aaa="sss" and bbb="www"」を割り当てる事は可能でしょうか?
やってみたところ蒸気でも正常に動作はしているようなのですが、こうした場合に共有メモリーの再利用などは行われているのでしょうか?

心当たりのある方、ご回答お願いします。
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2004-06-07 13:32
 「解析済みSQL文」は、条件の値以外を含みます。WHERE句そのものが置き換わるので、「違う条件」と見なされるでしょう。
 また、「後から理解できるプログラム」という観点から見ても、よいプログラムとはいえないでしょう。


 「できるからやってもいい」わけではありません。「なんの為にするのか」を押さえてください。
hal
常連さん
会議室デビュー日: 2004/02/17
投稿数: 29
投稿日時: 2004-06-07 17:47
Jittaさん、いつもご回答ありがとうございます。

了解しました。確かにそうですね。
どういう形であれバインド変数化すればとりあえず性能が上がるだろうというのは軽率でした(汗)
1

スキルアップ/キャリアアップ(JOB@IT)