0

看来,我有一个返回 1000 行的查询,hibernate 需要永远从查询的返回值创建一个列表。似乎休眠状态每行进行一次“往返”,就我而言,这需要很长时间。这可以避免吗?在我的特定实例中,这是一个 Oracle 数据库。查询只是 100 个序列 ID 的列表,例如https://stackoverflow.com/a/8292557/32453

4

1 回答 1

0

似乎休眠允许设置“获取大小”,在这种情况下可以避免往返时间。

参考:http ://docs.jboss.org/hibernate/entitymanager/3.5/reference/en/html/objectstate.html搜索“fetchSize”

这是我最终在 hibernate.cfg.xml 文件中使用它的方式:

<property name="hibernate.jdbc.fetch_size">10000</property>

现在我的 1000 行查询的返回速度提高了大约 10 倍。好的。我猜默认是 1 的提取大小,每行都需要一个 RTT。

于 2013-06-26T22:58:46.410 回答