OpenJPA在FetchPlan中提供了一些参数。
(http://openjpa.apache.org/builds/1.2.0/apidocs/org/apache/openjpa/persistence/FetchPlan.html)
我被困在其中之一FetchBatchSize中。
希望有人可以分享他们的经验。
这是方案,假设我要从数据库中选择最多1000条记录(MS-SQL)
1.如果我将FetchBatchSize保留为默认值-1,将需要20秒才能返回1000条记录;
所以我的问题是,当maxResultCount为变量时,如何选择合适的FetchBatchSize? openJPA文档中是否有适合大多数情况的DEFAULT值(例如20)?或者建议在运行时进行更改。
任何评论表示赞赏。谢谢!
最佳答案
实际上,这比OpenJPA问题更像是MS-SQL调优问题-FetchBatchSize值被传递给驱动程序。
根据最大结果计数参数在运行时动态设置值当然没有错。另外,假设您在指定大于limit子句的数字时遇到的延迟不是由于配置不明确而引起的,将有趣的事情添加到OpenJPA SQLServerDictionary中以在最大结果值达到上限时限制批处理大小存在。出现在OpenJPA邮件列表中可能是一件好事。