Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 450761
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 12, 20262026-05-12T21:54:04+00:00 2026-05-12T21:54:04+00:00

In practice we are finding the default NHibernate (v2.0 & 2.1) FlushMode=Auto to be

  • 0

In practice we are finding the default NHibernate (v2.0 & 2.1) FlushMode=Auto to be extremely expensive. Reviewing the NHibernate source suggests that the algorithms for determining what needs to be flushed rely on brute-force of looping through all entities in session, and this occurs for every query run in a transaction.

In some production scenario with updates on many items, with multiple queries we have seen the process 100 times longer with FlushMode=Auto compared to FlushMode=Commit.

Any thoughts/advice/best practices for usage of FlushMode when performing ‘complex’ session logic involving multiple updates, multiple queries etc.

Any ideas on optimizing the AutoFlush algorithms in nHibernate?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-12T21:54:04+00:00Added an answer on May 12, 2026 at 9:54 pm

    This slowness is a known issue and is tracked in NH as NH-1365/GitHib Issue 857

    There are three flush modes in NH:

    • FlushMode.Auto = Flush when needed (on commit and before queries, if needed). This is the default.
    • FlushMode.Commit = flush on commit of NH transaction only
    • FlushMode.Never = never flush (until Flush is called). This will still go to DB on insert of entities that use native (identity) PK generator.
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I am having a very hard time finding a standard pattern / best practice
During practice of customizing VirtualPathProvider, I found that it the custom VirtualPathProvider can be
What's the best practice for making sure that certain ajax calls to certain pages
What's the best practice for retrieving JSON values that may not even exist in
I'm finding that with asynchronous callbacks I'm needing to write a try/catch for each
I've been finding that a lot of libraries and frameworks can seem a bit
It's clear that having @Override annotation on overriding methods is a good practice. Is
I'm using StoreKit for in-app purchases. I'm finding that the API is quirky in
I'm finding that there are several points in the stored procedures that I'm creating
In practice with C++, what is RAII , what are smart pointers , how

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.