PostgreSQL:随着扫描的进行,查看查询结果,而不是等到结束并显示全部

时间:2019-03-06 21:02:22

标签: postgresql

对于一个非常大的表上的select column_name from table_name之类的简单选择查询,是否可以在表扫描过程中提供输出?

如果一段时间后我中止命令,我希望至少到目前为止可以从select中获得输出。

考虑一下cat,我相信它不会等到它完成文件的完整读取。

MySQL或其他RDBMS系统是否支持此功能?

1 个答案:

答案 0 :(得分:1)

PostgreSQL 总是将结果流传输到客户端,通常是客户端库在将整个结果集返回给用户之前收集整个结果集。

C API libpq具有functionality that supports this。这种方法的主要缺点是,在已经收到一些行之后,可能会在 时出现运行时错误,因此您必须处理这种情况。

部分接收查询结果的传统方式是使用 cursor 并从中获取结果。这是所有客户端API都支持的技术。

您可能正在寻找游标,并且我所知道的所有RDBMS都以某种方式支持它们。