postgresql - Postgres 游标中的获取限制
问题描述
LIMIT
当我们在游标上获取时,Postgres 中是否有与 Oracle 子句内联的选项?我正在使用可能包含数百万行的游标,这会降低游标性能。我们是否可以选择限制每次提取的行数并分批完成提取?
解决方案
是的,这就是游标默认执行的操作:
BEGIN; -- start a transaction
PREPARE c CURSOR FOR SELECT ...
FETCH 1000 FROM c;
FETCH 1000 FROM c;
...
COMMIT;
游标不会“保存”数据,它会在您运行时从表中获取它们FETCH
。
推荐阅读
- python - 使用 Python 将 DOC 转换为 DOCX,无需将中间输出文件写入磁盘
- image - Docker:standard_init_linux.go:211:exec用户进程导致“没有这样的文件或目录”
- xcode - 在 Xcode 10 和 11 beta 之间切换时“安装额外的必需组件”
- grails3 - Grails RabbitMQ 本机:内插凭据上的 AuthenticationFailureException
- amazon-web-services - Quicksight - 如何在计算字段中使用 log()?
- javascript - 根据从下拉列表 reactjs -redux 中选择的位置获取货币值
- android - proguard中迁移到AndroidX后出现错误
- javascript - 如何使用 chrome.debugger API 在 chrome 扩展中运行 puppeteer-web?
- apache-spark - Spark将结构数组转换为欧几里得距离的向量
- sublimetext3 - Sublime Text 3 中 Vue 源文件的反引号?