In pratica stiamo trovando il valore predefinito NHibernate (v2.0 & 2.1) FlushMode = Auto per essere estremamente costoso. La revisione della fonte di NHibernate suggerisce che gli algoritmi per determinare ciò che deve essere svuotato si basano sulla forza bruta del looping attraverso tutte le entità nella sessione e ciò si verifica per ogni query eseguita in una transazione.Perché il controllo AutoFlush di NHibernate è così costoso?
In alcuni scenari di produzione con aggiornamenti su molti articoli, con più query abbiamo visto il processo 100 volte più lungo con FlushMode = Auto rispetto a FlushMode = Commit.
ogni pensiero// migliori pratiche consigli per l'uso di FlushMode quando si esegue la logica 'complessa' sessione che coinvolge più aggiornamenti, le query multiple ecc
Tutte le idee su come ottimizzare gli algoritmi autoflush in NHibernate?
domanda relativa: http://stackoverflow.com/questions/1724307/nhibernate-poor-performance-on-auto-flush-events – zvolkov
sì ... in realtà lo stesso problema :) – Pawel