代码之家  ›  专栏  ›  技术社区  ›  Matthew Talbert

批插入期间Fluent nhibernate命令超时

  •  3
  • Matthew Talbert  · 技术社区  · 15 年前

    我想在一张表中插入大约16000条记录。因为这很慢,我想批量插入它们。但是,当我尝试执行此操作时,总是会收到超时错误。所以我有两个问题:

    1. 加快插入速度的最佳方法是什么?
    2. 如何增加连接的超时值?
    1 回复  |  直到 15 年前
        1
  •  5
  •   Mattias Jakobsson    15 年前

    首先,您必须使用无状态会话。您不需要调用opensession();(在会话工厂中),而是调用openstatlessession();它与普通会话有很多相同的API,但是没有缓存和填充(对于扩展数据操作来说更快)。然后,您需要通过调用.adonetbatchsize([[batch size]])来设置批大小;在这里您可以在配置中设置数据库。

    这可能会起作用。但你应该知道,这不是中继什么NHibernate(或任何其他ORM)是为,所以不要指望任何类型的性能。