发帖    主题    评论    推荐    标签    作者    订阅    查搜    注册   登陆   关注
 
面向对象 设计模式 领域驱动设计 企业架构 框架 开发教程 微服务 大数据 扩展性 并发编程 事件驱动 分布式 SOA

求助:ofbiz的entityEngine如何处理大数量的查询?

2003-06-20 15:40
赞助商链接

如果我的查询结果中包含20万余条数据,而我仅仅想显示其中的50条,我应该如何处理!

我看ofbiz的entityEngine好像只能查询后返回List,这对于大数量的查询非常失败的!不知道ofbiz有没有其他的办法完成查询!

谢谢!

2003-06-20 17:31

使用findListIteratorByCondition 得到 EntityListIterator
使用EntityListIterator.getPartialList(int start, int number)得到你要用的数据

需要注意的时候ELI是保持数据库连接的, 要及时close.

2003-06-22 21:47

Thank you !
但是我还要得到findListIteratorByCondition 查询后记录的数量,我如何去做呢?

2003-06-22 23:44

先调用last(), 再调用currentIndex()得到总数。

不过这样有个缺点,应为它是调用ResultSet的last方法来实现的, 而不同的jdbc driver在处理ResultSet.last()有不同的表现,mysql的driver会依次调用next直到最后(mm-mysql-jdbc是这样的, 最新Connector/J driver没有看过代码不知道),所以性能上在处理大数据量会有问题, 而Oracle的thin的driver好像是有特别优化过,没有实验过, 不知道具体的情况。

如果你的项目有这样的情况的话,建议做一下实验, 方便的话,让我知道结果, 谢谢。

2003-06-23 19:46

谢谢!我试验一下!

看来ofbiz是不能支持一些类似sum,max,min,count这样的函数了!
:(

赞助商链接

赞助商链接

返回顶部

移动版 关于本站 使用帮助 联系管理员 最佳分辨率1366x768
OpenSource JIVEJDON Powered by JdonFramework Code © 2002-20 jdon.com