4

infinispanまたはehcache/terracottaを使用した第2レベルのキャッシュを使用すると、Hibernateアプリを簡単に高速化できますが、ibatisにはキャッシュ用に実装するためのシンプルなインターフェイスしかありません。また、休止状態はデータに関するより多くの情報を知っているため、キャッシュの改善にも役立ちます。反対に、ibatisのシンプルさもその力であり、両方にキャッシングを使用しない場合は、休止状態よりも高速です。

私の質問は; 2次キャッシュでhibernateを使用し、そのインターフェイスにキャッシュ実装でibatis3を使用する場合、データアクセス層の候補としてより高速になりますか?

乾杯、

4

1 に答える 1

4

高速は一般的な品質ではありません。パフォーマンスは状況に応じて考慮する必要があります。

良いアプローチは次のようです。

  1. アプリケーション全体で必要な多くのクエリを十分に高速かつ効率的にコーディングします。コーディングが速く、パフォーマンスのためにトリッキーなテクノロジを使用しないため、そのフェーズを早期に完了します。
  2. 十分に高速ではない、頻繁に呼び出される1% のクエリを見つけて、合計時間を最も多く占めます (実際のユーザーが待機しているクエリのみを考慮します)。
  3. これを最適化するのに十分な時間を費やしてください (フェーズ 1 で時間を稼いだので、この時間があります)。グローバルに考えていなかったものを非常に高速に使用できます (メモリ キャッシュ、ネイティブ SQL、データベース プロシージャなど)。
  4. 時間がなくなるか、ユーザーが満足するまで 2 に戻ります。
于 2009-11-14T18:17:03.830 に答える