首页 > 解决方案 > PHP 的 pg_fetch_assoc() 是否使用迭代器/游标?

问题描述

PHP 是否在pg_fetch_assoc()内部运行

使用迭代器/游标,还是一次获取所有数据,网络方式?

\PDO使用光标吗?

我的上下文正在获取大量数据,我想知道它是作为一个整体提取还是逐行提取(或者当游标包含完整数据集的子集时,是逐行限制)。

标签: phppostgresqlpdoiteratorphp-pgsql

解决方案


pg_fetch_assoc()也没有。它是一个从 PHP 资源中获取关联数组的函数。例如,资源可以是调用的结果PQexecPrepared

在 API 级别 PHP-pgsql 没有游标函数。您可以尝试使用 PDO,如果您启用可滚动游标模式,它会模拟 PostgreSQL 的游标。有关prepare()更多详细信息,请参阅。另一种选择是自己使用 SQL 游标语句。

这个答案解释了一点:php postgres from query to fetching rows in theory

这是PDO 源代码的链接,它负责用 SQL 语句模拟游标。


推荐阅读