日期:2014-05-20  浏览次数:20719 次

请教JDBC ResultSet的运行机制?
ResutlSet如何从数据库中去数据?

是不是将查询到的结果集也放到内存中在逐条取?

是放到数据库所在机器的内存还是客户端内存?

------解决方案--------------------
1、通过Connection建立的Statement对象,可以执行一个可运行的SQL文。此SQL(select)查询出的所有一条一条的数据都会被放到结果集对象中。

2、ResultSet对象指向了内存空间中的首地址,每次执行next()就向下一行数据指过去,所以一个ResultSet通常只能读一遍。利用一个MetaDataResultSet类可以获得更全的读取功能。

3、对于B/S结构,运行必然在服务器端;对于单机的Application也毫无疑问,就一个机器;C/S结构的话,你是从本地建立的数据库连接吗?如果是(我猜应该是这种),所有内存占用都由客户端机负责。如果不是,那么应该只是服务端花资源查完数据传给客户端,内存占用服务端的。