我到处搜索,找不到任何这种行为的原因。
我正在使用连接到oracle数据库的Hibernate。使用Criteria进行查询时,会有一些连接(一个左外连接)和一些限制。我设置了
的投影Projections.distinct(Projections.property("id"))
并运行查询(criteria.list())。然后大约需要1小时45米才能返回。
然后我尝试使用sql developer直接对数据库运行查询,这需要0.045秒。
所以我通过标准进行了调试,发现投影导致时间延迟(运行查询而没有在0.5秒内返回投影)。将投影更改为
Projections.groupProperty("id")
以0.25秒返回。
这两个预测之间有区别吗?我看到两个查询都是针对数据库运行的,但是一个查询比另一个运行的时间要长得多。
注意: 我使用的是Hibernate版本4.3.7.Final