对于一个非常大的表上的select column_name from table_name
之类的简单选择查询,是否可以在表扫描过程中提供输出?
如果一段时间后我中止命令,我希望至少到目前为止可以从select中获得输出。
考虑一下cat
,我相信它不会等到它完成文件的完整读取。
MySQL或其他RDBMS系统是否支持此功能?
答案 0 :(得分:1)
PostgreSQL 总是将结果流传输到客户端,通常是客户端库在将整个结果集返回给用户之前收集整个结果集。
C API libpq
具有functionality that supports this。这种方法的主要缺点是,在已经收到一些行之后,可能会在 时出现运行时错误,因此您必须处理这种情况。
部分接收查询结果的传统方式是使用 cursor 并从中获取结果。这是所有客户端API都支持的技术。
您可能正在寻找游标,并且我所知道的所有RDBMS都以某种方式支持它们。