日期:2014-05-16  浏览次数:20468 次

数据库和JDBC

网上摘录的,应该是跟jdbc驱动相关的!

setFetchSize()?
是设置ResultSet每次向数据库取的行数
但是你要这样还是可以把所有的数据都取出来,这个只是优化了,取不完数据的情况下 。

缺省时,驱动程序一次从查询里获取所有的结果。这样可能对于大的数据集来说是不方便的, 因此 JDBC 驱动提供了一个方法从一个数据库游标伤抽取少数几行的 ResultSet 的方法。

在 链接的客户端这边缓冲了一小部分数据行,并且在用尽之后, 则通过重定位游标检索下一个数据行块。 setFetchSize最主要是为了减少网络交互次数设计的 。访问ResultSet时,如果它每次只从服务器上取一行数据,则会产生大量的开销。setFetchSize的意思是当调用rs.next 时,ResultSet会一次性从服务器上取得多少行数据回来,这样在下次rs.next时,它可以直接从内存中获取出数据而不需要网络交互,提高了效 率。这个设置可能会被某些JDBC驱动忽略的,而且设置过大也会造成内存的上升!