実際には、デフォルトのNHibernate(v2.0 & 2.1)FlushMode = Autoが非常に高価であることがわかりました。 NHibernateのソースを見てみると、何をフラッシュする必要があるのかを判断するためのアルゴリズムは、セッション中のすべてのエンティティをルーピングするというブルートフォースに依存していることがわかります。なぜNHibernate AutoFlushは非常に高価なチェックですか?
多くの項目の更新を含むいくつかの生産シナリオでは、複数のクエリを使用して、FlushMode = Autoと比較して、FlushMode = Commitと比較してプロセスが100倍長いことがわかりました。
FlushModeの使用のための任意の考え/アドバイス/ベスト・プラクティスは、複数の更新プログラムを含む「複雑な」セッション・ロジックを実行し、複数のクエリなど
任意のアイデアNHibernateはで自動フラッシュアルゴリズムを最適化しますか?
関連する質問:http://stackoverflow.com/questions/1724307/nhibernate-poor-performance-on-auto-flush-events – zvolkov
うん...実際には同じ問題:)知って喜ん – Pawel