Statement.setFetchSize(nSize) 方法在 SQL Server JDBC 驱动程序中真正做了什么?
我有一个非常大的表格,每天有数百万条记录,每天结束时,我都会提取前一天的所有记录。我这样做是这样的:
String SQL = "select col1, col2, coln from mytable where timecol = yesterday";
Statement.executeQuery(SQL);
问题是该程序需要2GB的内存,因为它将所有结果都保存在内存中,然后进行处理。
我尝试设置,但它从操作系统中占用完全相同的内存,这没有任何区别。我正在使用Microsoft SQL Server 2005 JDBC驱动程序。Statement.setFetchSize(10)
有没有办法像Oracle数据库驱动程序那样以小块的形式读取结果,当执行查询时,只显示几行,并且向下滚动时会显示更多结果?