我有一个简单的查询,它连接两个(相当大的)表并使用服务器端游标迭代结果:
select * from tableA a join tableB b on (a.fid = b.id) order by a.id;
此查询很好,我可以使用fetchmany
以块的形式迭代结果。
但是,只要我将查询更改为
select a.id from tableA a join tableB b on (a.fid = b.id) order by a.id
execute
来电停滞,我无法对结果进行迭代。
两个表上的id
列都是BTREE
索引的索引,fid
列也是BTREE
索引,是tableB.id
的约束}。 id
和fid
是整数。
我需要迭代所有行的原因是因为我创建了一种数据库导出,这些导出无法通过copy
命令完成,因为它需要连接。