能否循环遍历查询结果?例如,当查询到500,000行时,返回前10,000行的结果,然后重新执行查询并返回接下来的10,000行结果。
我的需求是运行查询并构建一个数组,类似于这样:
$result = pg_query("SELECT * FROM myTable");
$i = 0;
while($row = pg_fetch_array($result) ) {
$myArray[$i]['id'] = $row['id'];
$myArray[$i]['name'] = $row['name'];
$i++;
}
但是,我知道将有几十万行数据,因此我想分批处理,如每批处理10,000行... 1-9,999,然后10,000-10,999等等... 原因是因为我一直收到以下错误提示:
Fatal error: Allowed memory size of 536870912 bytes exhausted (tried to allocate 3 bytes)
顺便说一句,我不明白3个字节怎么可能用尽512兆字节...所以,如果这是我可以轻松更改的内容,那就太好了,虽然最好还是分批处理?