【问题标题】:Drawbacks of a high hibernate.jdbc.batch_size setting高 hibernate.jdbc.batch_size 设置的缺点
【发布时间】:2014-12-18 09:49:11
【问题描述】:

我将hibernate.jdbc.batch_size 参数增加到50。这使得我们应用程序中的批处理速度更快,这很棒。对于应用程序的“常规”任务,我是否需要预料到任何缺点?应用程序响应 Web 请求并为每个请求使用单个数据库连接。大多数请求只从数据库中读取,有些请求保存了一些对象(但不是数百个)。

非常感谢您分享您的经验。

【问题讨论】:

  • 根据我的经验,50 仍然在“非常合理”的范围内。从来没有注意到任何不利影响。我想唯一要看的就是记忆。
  • 感谢您的意见! :)

标签: java hibernate jdbc


【解决方案1】:

hibernate.jdbc.batch_size 参数确定在一次调用中将多少条语句发送到数据库。在一个事务中执行多个语句时,拥有多个语句(更高的数目)可能会导致 OutOfMemoryException 或事务超时。

使用 webrequests,您通常在事务中使用较少的语句。此设置不应影响这些事务。

根据您阅读的文档的哪一部分,10 到 50 个 Hibernate 3.3 chapter 13 或 5 到 30 个 Hibernate 3.3 chapter 3 是合理的/推荐的。

【讨论】:

  • 谢谢,这是有道理的! ;)
猜你喜欢
  • 2014-03-02
  • 1970-01-01
  • 1970-01-01
  • 2010-10-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-12-31
相关资源
最近更新 更多