假设我有
原文链接:https://www.f2er.com/php/131593.html$db is an instance of Zend_Db_Adapter_Abstract and $sql = 'SELECT blah blah FROM table' will return a huge number of records.
有两个代码片段来处理返回的数据如下.
// Code fragment 1 (let's call it C1). $results = $db->fetchAll($sql); foreach ($results as $row) { // Process $row } // Code fragment 2 (let's call it C2). $stmt = $db->query($sql); while ($row = $stmt->fetch()) { // Process $row }
我的理解是,C1将所有返回的数据加载到$结果.所以,巨大的数据被加载到PHP内存.以下是我的问题
> C2是否将所有数据加载到PHP内存,还是像处理/执行一样处理?
>假设没有其他选择,C1或C2是一个更好的选择?
谢谢!