0

1>数百万行と100列のテーブルテーブルから1行(そして3〜4列が必要)を返すクエリを実行したいと思います。このユースケースでは、JDBC または Hibernate のどちらがより適切なオプションですか。

2>この場合に休止状態を使用すると、メモリ不足になるリスクもあります。休止状態でのキャッシングの問題についてはまったくわかりませんが、人々が OOM を取得すると聞いています。

3>Hibernate/JDBC のどちらがより高速な結果をもたらすか。私の場合は時間が重要です。

4

2 に答える 2

1
  1. これは Hibernate で簡単に実行できます。「ビュー オブジェクト」を使用するだけです。パフォーマンスは、ネイティブ JDBC と同じになります。
  2. いいえ、Hibernate は結果セットで返されたもののみを処理します。1 行しか含まれていない場合は問題ありません。
  3. Hibernate は次の 2 つのケースで遅くなります: 最適化されていないクエリを生成する (.hbm 構成ファイルおよび/または注釈でこれを調整できます) または結果の処理が遅い (これは、返された結果セットが巨大な場合に発生します)。

ところで、OLAP スタイルのクエリに Hibernate を使用することに関する私のブログ エントリを参照してください。

于 2012-07-12T06:50:42.253 に答える
0

これがすでに休止状態を使用しているプロジェクトである場合、休止状態を使用しない理由はありません。Istvan Devai の回答を参照してください。

これが新しいプロジェクトであり、これがデータベースで行うすべての場合、休止状態 (またはその他の JPA 実装) を使用するメリットはあまりないと思います。プレーンな JDBC を使用する方が適切です。

于 2012-07-12T06:54:50.893 に答える