Postgres 游标中的获取限制

问题描述

当我们对游标进行提取时,Postgres 中是否有与 Oracle LIMIT 子句内联的选项? 我使用的游标可能包含数百万行,这会降低游标性能。 我们是否可以选择限制每次获取的行数并分批完成获取

解决方法

是的,这就是游标默认的作用:

BEGIN;  -- start a transaction
PREPARE c CURSOR FOR SELECT ...
FETCH 1000 FROM c;
FETCH 1000 FROM c;
...
COMMIT;

游标不会“保存”数据,它会在您运行 FETCH 时从表中获取它们。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...