代码之家  ›  专栏  ›  技术社区  ›  Brett Veenstra

如何确定实际世界中建议的ADO.NET批处理大小?

  •  6
  • Brett Veenstra  · 技术社区  · 16 年前

    注: 我不是在找答案 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 回复  |  直到 16 年前
        1
  •  0
  •   reach4thelasers    16 年前

    不需要设置此值。让它在默认情况下运行。只有当查询返回大量数据(例如blob)时才是真正重要的,在这种情况下,您可以选择一个较低的批处理大小(10-20)作为正常使用,只需将其排除在外即可。我从来不需要设置它,我所有的应用程序都运行得非常快。