2012-03-05 57 views
0

当您看到标题时,我很乐意听到您的答案,即选择来自db的大量数据时性能更加方便的答案!休眠性能问题:ScrollableResults vs firstResult/maxResult

哪种情况最好,为什么?

(PS:有没有像一个一对多等,只需从单一的,而是巨大的表中选择行,包括数以百万计的数据-mysql-任何映射关系)提前

感谢。

回答

2

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

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

这里更多的细节:http://bugs.mysql.com/bug.php?id=18148

+0

您好,感谢在第一。你能提供更多关于你上面提供的信息的细节吗?换句话说,我想知道哪种方法可以通过内存,scrollableResults或first/maxResult导航结果?我的最后一个奇迹是如何在行动中使用fetchSize,你有任何链接或代码应该可以帮我弄清楚吗?谢谢.. – Javatar 2012-03-05 21:57:17