休眠在一张大桌子上搜索非常慢

时间:2014-01-07 10:05:19

标签: hibernate

我在我的struts2项目上使用Hibernate 3.3,数据库是Oracle 11g。在那里,我有一个实现jQuery datatable搜索具有16,000行的表格的场景(将在Lakhs进行制作时)。当我在没有'where子句'的情况下测试我的hql和sql查询时,对于16000行,它们花了大约7到8秒。所以我尝试使用JDBC连接,只花了几毫秒来处理它。有没有其他方法可以使用hibernate来实现这个以优化获取,还是应该继续使用JDBC连接来满足这些需求?

1 个答案:

答案 0 :(得分:0)

Hibernate没有理由比使用JDBC的查询慢得多(假设使用相同的SQL)。 但是你测试的Hibernate版本已经很老了,很多性能改进(以及错误修正)在最近的版本中得到了修复,例如 4.3.6.Final (今天晚些时候发布)。

所以我的猜测是你要么没有测试同样的东西(例如,你的查询是通过JDBC实际获取数据?)还是遇到了一些旧的bug。 还有多种情况,其中JDBC驱动程序会出错。 如果你非常不走运,你可能会遇到最新版本中仍然存在的错误,但是值得尝试先更新。