相关疑难解决方法(0)

Statement.setFetchSize(nSize)方法在SQL Server JDBC驱动程序中的作用是什么?

我有这个非常大的桌子,每天有数百万条记录,每天结束时我都会提取前一天的所有记录.我这样做:

String SQL =  "select col1, col2, coln from mytable where timecol = yesterday";
Statement.executeQuery(SQL);
Run Code Online (Sandbox Code Playgroud)

问题是这个程序需要2GB的内存,因为它会将所有结果都记在内存中然后处理它.

我尝试设置Statement.setFetchSize(10)但它从操作系统获取完全相同的内存它没有任何区别.我正在使用Microsoft SQL Server 2005 JDBC驱动程序.

有没有办法以小块的形式读取结果,比如Oracle数据库驱动程序执行查询时只显示几行,当你向下滚动时会显示更多结果?

java sql-server jdbc

52
推荐指数
4
解决办法
9万
查看次数

在JDBC中设置语句提取大小或使用LIMIT子句触发SQL查询之间有什么区别?

在JDBC中设置语句提取大小或使用LIMIT子句触发SQL查询之间有什么区别?

java sql jdbc

13
推荐指数
1
解决办法
6899
查看次数

JDBC:LIMIT与setmaxrows(Resultset)

我想选择前10条记录,我可以使用以下之一:

  • 在结果集中使用setmaxrows
  • 在sql语句中使用LIMIT和OFFSET

我的问题是:它们之间的优点和缺点是什么?

java postgresql jdbc

5
推荐指数
3
解决办法
7383
查看次数

标签 统计

java ×3

jdbc ×3

postgresql ×1

sql ×1

sql-server ×1