NHibernate Profilerで、アソシエーションで熱心なフェッチを使用すると、HQLクエリで「左結合フェッチ」を使用するか、Criteriaクエリで.SetFetchMode()を使用すると、クエリがクエリキャッシュにキャッシュされなくなります。
実際、私が見ることができるのは、非常に基本的なクエリだけがキャッシュされていることです。誰かが私にどのクエリがキャッシュされ、どのクエリがキャッシュされないかについての洞察を私に与えることができれば、私は答えをマークします。
違いが生じる場合は、Memcachedを使用しています。クエリ密度の高いシステムのL2キャッシュに適した選択肢はありますか?
私はこれをかなり難しいと感じています-熱心な負荷を使用しない場合はN+1の問題があります(ただしキャッシュを使用します)。熱心な負荷を使用すると、データベースからすべてのエンティティを取得しますが、キャッシュはありません。
かなり太い境界線があるようです。どちらの戦略でもパフォーマンスが向上していますが、どちらの戦略も他の戦略からパフォーマンスを奪っています。
誰かがこの「太い線」のどこにあるのかについて洞察を与えることができれば、私は最適なパフォーマンスを得る必要があります、または「線を細くする」方法...私は非常に門戸を開いて答えをマークします。