我遇到了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