锁定老帖子 主题: 关于jdbc的一种功能的实现
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2012-02-27
请问各位大侠如何实现,jdbc里面是不是有个什么滚动的。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2012-02-27
没看懂 lz什么意思 是要分页查询?
|
|
返回顶楼 | |
发表时间:2012-02-27
rekoe.net 写道 没看懂 lz什么意思 是要分页查询? 是的,但不是自己写在sql语句里,而是通过对结果集的滚动来实现 |
|
返回顶楼 | |
发表时间:2012-02-27
就是怎么把数据拿出来而不至于内存溢出
|
|
返回顶楼 | |
发表时间:2012-02-27
此方案不可行,为啥?
“使用jdbc从一个数据量很大的表中先读一部分数据,然后再读一部分数据”,实现分页的效果,也就是说要实现数据库分页,而不是内存分页,也就是数据不能一次性全部加载到内存 假设,该功能存在(存在不存在我表示不太清楚),那么在用户浏览期间必须长期持有resultset,而不能关闭,导致长期占用连接,可能还有一些锁问题。如果用户半天才翻一页,那么,这个连接。。。 |
|
返回顶楼 | |
发表时间:2012-02-27
freish 写道 此方案不可行,为啥? “使用jdbc从一个数据量很大的表中先读一部分数据,然后再读一部分数据”,实现分页的效果,也就是说要实现数据库分页,而不是内存分页,也就是数据不能一次性全部加载到内存 假设,该功能存在(存在不存在我表示不太清楚),那么在用户浏览期间必须长期持有resultset,而不能关闭,导致长期占用连接,可能还有一些锁问题。如果用户半天才翻一页,那么,这个连接。。。 不是给用户用的,是我自己要将这些数据写入一个文件中,量太大老是溢出 |
|
返回顶楼 | |
发表时间:2012-02-27
java_user 写道 freish 写道 此方案不可行,为啥?
“使用jdbc从一个数据量很大的表中先读一部分数据,然后再读一部分数据”,实现分页的效果,也就是说要实现数据库分页,而不是内存分页,也就是数据不能一次性全部加载到内存 假设,该功能存在(存在不存在我表示不太清楚),那么在用户浏览期间必须长期持有resultset,而不能关闭,导致长期占用连接,可能还有一些锁问题。如果用户半天才翻一页,那么,这个连接。。。 不是给用户用的,是我自己要将这些数据写入一个文件中,量太大老是溢出 这个可以在SQL上下工夫,只取对应纪录数 |
|
返回顶楼 | |
发表时间:2012-02-27
一次取1000条,每页显示一百条,最后一个一百条,点下一页的时候再去查询。
缓存当然不存成一个文件,而是多个文件,比如1000条记录一个文件。 |
|
返回顶楼 | |
发表时间:2012-02-27
你的意思 滚动游标
|
|
返回顶楼 | |
发表时间:2012-02-27
java_user 写道 rekoe.net 写道 没看懂 lz什么意思 是要分页查询?
是的,但不是自己写在sql语句里,而是通过对结果集的滚动来实现 LZ 童鞋,“不通过Sql 语句实现分页,而是通过对结果集滚动来实现”,你知道这是什么意思么?意思就是说,一次性把数据全部Load 到内存中,然后通过ResultSet 对象在结果集上进行滚动实现你所谓的分页...所以,我想问哈你,你的机器内存多大? 或者就只能通过sql 语句来分段的取数据,比如每次只一百条记录,这样子可以避免你的机器内存吃不消的问题... 只有这两种方式,别无它法! 感觉你的表述怪怪的... |
|
返回顶楼 | |