如何确定真实世界中推荐的ADO.NET批量大小?

时间:2009-11-02 21:26:04

标签: nhibernate ado.net fluent-nhibernate

注意:我不是在寻找MSDN的答案。

您是如何确定给定数据库/应用程序的正确ADO.NET批量大小值的?哪些因素会导致您的决定以及您可以分享哪些经验?

使用Fluent NHibernate,我目前正在使用类似的东西:

var sessionFactory = Fluently.Configure().Database(
             MsSqlConfiguration.MsSql2005.ConnectionString(c => c.FromConnectionStringWithKey("connString"))
             .AdoNetBatchSize(50)
             )
             .Mappings(m => m.FluentMappings.AddFromAssemblyOf<Foo>()).BuildSessionFactory();

根据我的理解,在将它们通过Connection对象发送到服务器进行处理之前,这将一次最多收集50个语句。

1 个答案:

答案 0 :(得分:0)

您无需设置此值。让它以默认值运行。只有当您的查询返回大量数据时才真正重要,例如BLOBS在这种情况下你会选择低批量~10-20对于正常使用只是把它留出来。我从来没有设置它,我的所有应用程序都运行得非常快。