0

フォーム データベースにクエリを実行して入力ストリームに配置された画像を表示する必要があります。しかし、問題は、データベースに配置されたページに多くの画像があることです。データベースから各画像を選択して xhtml ページに表示するには、多くのクエリが必要です。1 つのマネージド Bean で、すべての画像が入力ストリームのリストに配置され、各要素をページ内の画像として表示したいと考えています。実際、私の要件は、入力ストリームから画像を読み取り、xhtml ページに表示することです。

4

2 に答える 2

0

データベースから各画像を選択して xhtml ページに表示する場合、多くのクエリが必要です

それはどのように正確に問題を形成しますか?パフォーマンスを測定しましたか?ボトルネックは本当に「多くのクエリ」にありますか? なぜそれがボトルネックになるのか、私には本当にわかりません。適切に設計されたデータモデルを使用すると、非常に高速になるはずです。自尊心のある SQL データベースは、まさにこの目的のために設計されています。

あなたのボトルネックは、実際には DB 接続を作成するステップではなく、接続プールを使用していないため、すべてのクエリでそれを行っていますか? もしそうなら、そうです、それが非常に遅く実行されることは理解できます. DB 接続の確立は 100 ~ 500 ミリ秒ほど遅くなる可能性があります。それがまさに、接続プールがずっと前に発明された理由です。接続は「アイドル時間」中にのみ初期化および消去され、スレッドセーフな方法で共有/再利用されるため、そこから接続を取得するのは10ミリ秒程度である必要があります。

適切な接続プールを使用するようにデータ層を修正すると、特定のジョブに適したツールであるサーブレットを引き続き使用できます。

于 2012-08-20T11:57:52.440 に答える
0

Richfaces を使用している場合は、使用し<ui:repeat>て画像のリストを反復処理し、使用<a4j:mediaoutput>して xhtml に画像を表示できます。example 、 a4j:mediaOutput を正しく使用する方法 と別のも参照してください。

于 2012-08-15T12:36:23.610 に答える