我正在做一个相当大的 Postgres 查询。尽管等待查询结束回显所有结果,是否有可能逐渐回显结果?
我的代码:
$sql1 = pg_query("select zhu_gid from indicateurs.note where zhu_gid not in (select gid from public.zh);");
while($data = pg_fetch_array($sql1))
{
echo $data['zhu_gid']."/";
}
最佳答案
关于你的问题:没有。Postgres自己先构建结果集,然后返回给客户端。
你可以使用 cursor为此(仍然必须先成功执行查询)。或者多个查询,用 LIMIT
/ OFFSET
对结果进行分区或(最好)确定性 WHERE
条件。您需要为这些添加确定性的 ORDER BY
。但是所有这些分页解决方案都有其特定的困难。相关:
除此之外,我不会使用NOT IN
。见:
改为考虑:
SELECT n.zhu_gid
FROM indicateurs.note n
LEFT JOIN public.zh ON zh.gid = n.zhu_gid
WHERE zh.gid IS NULL;
关于php - 如何在执行结束前逐步打印SQL查询结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55747691/