2

暗黙的ステートメント キャッシュと明示的ステートメント キャッシュの違いが Oracle にあることを明確に説明できる人はいますか (ここで説明されているように)。

私は基本的に、DBCP 接続プールが提供した機能を再現したいと考えています。これにより、準備のためにステートメントが DB に 1 回 (または接続ごとに 1 回) だけ送信されます。

ありがとう。

4

1 に答える 1

4

あなたが提供したリンクから:

暗黙的なステートメントキャッシングを有効にすると、このステートメントオブジェクトのcloseメソッドを呼び出すときに、JDBCは準備されたステートメントまたは呼び出し可能なステートメントを自動的にキャッシュします。

明示的なステートメントキャッシングを使用すると、選択した準備済みの呼び出し可能なステートメントをキャッシュおよび取得できます。明示的なステートメントのキャッシュは、指定した任意のJava文字列であるキーに依存します。明示的なステートメントキャッシングは、メタデータだけでなくステートメントデータと状態も保持するため、メタデータのみを保持する暗黙的なステートメントキャッシングよりもパフォーマンスが優れています。ただし、このタイプのキャッシングを使用する場合は注意が必要です。明示的なステートメントキャッシングでは、3種類すべての情報が再利用のために保存され、ステートメントの以前の使用で保持されているデータと状態がわからない場合があるためです。

暗黙的なキャッシングは、準備された呼び出し可能なステートメントが閉じられたときに常に保存されるように見えますが、明示的なキャッシングは指定されたステートメントのみを保存します。また、明示的なキャッシュはわずかに高速であるように見えますが、古いデータを返すリスクがあります。

于 2013-03-21T20:39:30.910 に答える