- PR -

PreparedStatementのキャッシュ保持について

投稿者投稿内容
raystar
ぬし
会議室デビュー日: 2003/01/16
投稿数: 251
お住まい・勤務地: Tokyo/Japan
投稿日時: 2003-07-19 00:15
oracleならば、
select sql_text from v#open_cursor;
などで確認することができます。
Statementならば、連結済みテキストが
Preparedならば バインド変数に変換されたものがはいっていました。

この違いって、キャッシュされているものが
バインド変数をもったSQLってことになるんでしょうか。

select * from table where id = :T1
のような形です。
おかもと
大ベテラン
会議室デビュー日: 2003/06/08
投稿数: 182
投稿日時: 2003-07-19 11:05
kitoさん、raystarさん

もう一度R-55さんの示してくれた記事を読んでみました。
PreparedStatementを再生成したときに以前生成したオブジェクトを
再利用してくれる機能はアプリケーションサーバー側に持っている
ようです。今回使用するWebLogicはこの機能を持っていますので、
当面、普通にPreparedStatementを使って、パフォーマンスチューニング
の際に、キャッシュ機能の使用を検討しようと思います。

kitoさんのおっしゃるように、コーディングにおける利点は確かに
ありますね。

raystarさんの方法で、実際にキャッシュされているSQLが
確認できるのですね。参考になります。

有り難うございました。

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