在mysql中获取超过300k条记录时,我收到这样的错误
致命错误:允许的内存大小 268435456 字节耗尽(尝试分配 20480 字节(
项目\系统\数据库\驱动程序\mysqli\mysqli_result.php 在第 229 行。
我已经将memory_limit增加到 1024M,也更改为 -1。
我找不到解决方案
直到改用 PHP 生成器
function getData()
{
$sql = 'SELECT * FROM table';
$q= $this->conn->prepare($sql);
$q->execute();
while ($row = $q->fetch(PDO::FETCH_ASSOC)) {
yield $row;
}
}
foreach ($this->getData() as $record) {
//
}