gpt4 book ai didi

sql - SELECT 查询何时开始返回行?

转载 作者:行者123 更新时间:2023-11-29 11:16:00 26 4
gpt4 key购买 nike

假设以下查询:

SELECT * FROM table;

DBMS 会在获取第一行后立即给我,还是会先获取所有行(将它们保存在某种缓冲区中),然后一次给我所有行?

如果我的问题不清楚。假设 中的行数使得 DBMS 需要恰好 60 分钟来获取所有行。 DBMS 会在 60 分钟内逐步返回行,还是我必须等待 60 分钟才能收到任何数据?

最佳答案

在 PostgreSQL 中,如果查询执行计划允许,服务器确实会在行可用时立即将行返回给客户端。在您的简单示例中就是这种情况。在其他情况下,例如,如果您可能在最后进行排序,并且必须等待它完成。

但是如果您使用标准的 libpq 接口(interface),客户端库会在将结果返回给客户端程序之前在内存中构建整个结果。要逐行获取结果,您需要使用 single-row mode在 libpq 中。如果您使用其他界面或其他语言,结果可能会有所不同。

关于sql - SELECT 查询何时开始返回行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18045755/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com