Hibernate性能问题:ScrollableResults vs firstResult / maxResult

时间:2012-03-05 14:11:47

标签: spring hibernate database-performance scrollableresults

当您看到标题时,我很高兴听到您关于哪个更方便性能的答案,因为从db中选择大量数据!

哪种情况最适合哪种情况?为什么?

(PS:没有任何映射关系,比如一对多等。只是选择一个包含数百万个数据的巨大表格中的行-mysql - )

提前致谢。

1 个答案:

答案 0 :(得分:2)

通常,mysql-connector会将所有结果检索到内存中,然后在内存中浏览这些结果。当然这很糟糕。

解决方法是调用statement.setFetchSize(Integer.MIN_VALUE),使其一次检索一个。这会使性能变差,但不会占用太多内存。

此处提供更多详细信息:http://bugs.mysql.com/bug.php?id=18148