PDO获取固定行数

时间:2017-03-03 11:26:53

标签: php mysql pdo

由于内存限制,我无法同时获取所有300k行。 有什么方法可以使用while / fetch PDO在预定义的块中循环? 类似的东西:

;extension=php_curl.dll

其中N是预定义的间隔。

1 个答案:

答案 0 :(得分:3)

你不需要那个。您的记忆问题是由unbuffered query

引起的

因此,只需在查询之前添加此魔术行

$pdo->setAttribute(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY, FALSE);

并且对内存没有任何问题 - 您的代码

while($result = $statement->fetch(PDO::FETCH_ASSOC))

将不会超过单行的RAM