postgresql游标是否可以暂存,以便以后取用?

梦断酒醒 2011-07-10 02:01:17
当前我有一个项目,由于数据库中多个表之间关联比较复杂,直接使用SQL进行查询时,由于表之间的各种关系以及返回的记录集比较大,效率非常低,所以想通过存储过程每次只取部分结果集回来。具体的说,就是想针对查询中可能用到的表及条件在存储过程中使用多个游标,然后在嵌套循环中分别移动游标并寻找满足条件的的结果,在生成一部分结果后(比如10个或者100个)就将结果返回给逻辑层。如果此后,逻辑层需要取得上次返回结果集之后的那部分结果,此时应当如何实现?能否将第一次产生的游标存储在什么位置以便后续操作时取回来接着用?或者有其它方法?

非常感谢。

...全文
75 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
iihero_ 2011-07-10
  • 打赏
  • 举报
回复
保持cursor打开状态,是吗?
应该可以实现,但必须确保是同一会话里头。
梦断酒醒 2011-07-10
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 rucypli 的回复:]

这不是分页问题吗 不用游标吧
[/Quote]
你是说N个表连接在一起后分页?效率达不到要求啊。
rucypli 2011-07-10
  • 打赏
  • 举报
回复
这不是分页问题吗 不用游标吧

56,679

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧