您应该从 结果集 的官方文档中阅读此页面。它说 __
默认情况下,完全检索结果集并将其存储在内存中。在大多数情况下,这是最有效的操作方式,而且由于MySQL网络协议的设计更易于实现。如果您正在使用具有大量行或较大值的ResultSet,并且无法在JVM中为所需的内存分配堆空间,则可以告诉驱动程序一次将结果流回一行。
stmt = conn.createStatement(java.sql.ResultSet.TYPE_FORWARD_ONLY, java.sql.ResultSet.CONCUR_READ_ONLY);stmt.setFetchSize(Integer.MIN_VALUE);
前向只读结果集与访存大小为Integer.MIN_VALUE的组合向驱动程序发出信号以逐行传输结果集。此后,将使用该语句创建的所有结果集逐行检索。
实际上,仅设置fetchSize对connector-j实现没有影响。



