我遇到了PHP数据对象函数的一些严重问题。我试图通过使用缓冲查询循环一个相当大的结果集(〜60k行,〜1gig)来避免获取整个集合。PHP PDO缓冲查询问题
无论我做什么,该脚本只是挂在PDO :: query() - 它似乎查询运行无缓冲(为什么其他的结果集大小的更改会解决这个问题?)。这里是我的代码来重现问题:
如果我限制了一些合理数量的查询,它工作正常:
$rQuery = $Database->query('SELECT id FROM mytable LIMIT 10');
我试图与PDO :: MYSQL_ATTR_MAX_BUFFER_SIZE演奏和使用PDO :: prepare()和PDO :: execute()(尽管上面的查询中没有参数),都无济于事。任何帮助,将不胜感激。
哇还好我是个白痴。不知道是什么给了我相反的印象。 – Stewart 2009-02-23 19:52:04
从技术上讲,“缓冲”查询意味着MySQL客户端库将整个结果集从TCP流中提取出来,然后再将其返回给您。 – staticsan 2009-02-24 06:13:39