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

Hibernate 在一张大桌子上休眠搜索速度非常慢,hibernate,Hibernate,我在struts2项目中使用Hibernate 3.3,数据库是Oracle 11g。在这里,我有一个场景,在一个有16000行的表上实现搜索(在投入生产时将达到10万行)。当我在没有“where子句”的情况下测试hql和sql查询时,它们花了大约7到8秒的时间处理16000行。所以我用JDBC连接尝试了同样的方法,处理它只需要几毫秒。有没有其他方法可以通过hibernate实现这一点来优化抓取,或者我应该继续使用JDBC连接来满足这些需求 Hibernate没有理由比JDBC上的查询慢很多(假

我在struts2项目中使用Hibernate 3.3,数据库是Oracle 11g。在这里,我有一个场景,在一个有16000行的表上实现搜索(在投入生产时将达到10万行)。当我在没有“where子句”的情况下测试hql和sql查询时,它们花了大约7到8秒的时间处理16000行。所以我用JDBC连接尝试了同样的方法,处理它只需要几毫秒。有没有其他方法可以通过hibernate实现这一点来优化抓取,或者我应该继续使用JDBC连接来满足这些需求

Hibernate没有理由比JDBC上的查询慢很多(假设使用相同的SQL)。 但是您测试的Hibernate版本非常旧,许多性能改进(和错误修复)在最近的版本中得到了修复,如4.3.6.Final(今天晚些时候发布)

因此,我的猜测可能是,要么您没有测试相同的东西(例如,您通过JDBC的查询是否实际获取了数据?),要么您遇到了一些旧的bug。 在许多情况下,JDBC驱动程序可能会出现错误。 若你们非常不走运,你们可能遇到了一个最新版本中仍然存在的bug,但首先尝试更新是值得的