我正在从mySQL数据库中选择大量数据:

 $sql = "SELECT * FROM data WHERE id = ?";
 $q = $pdo->prepare($sql);
 $q->execute([$id]);
 $array = $q->fetchAll(PDO::FETCH_ASSOC);

 var_dump($array);

我想将这些数据存储到一个数组中,然后在循环中使用这个数组。我现在的问题是,我有如此巨大的数据量,阵列正在加载和加载,我的系统已经不堪重负。
有没有一种方法可以创建一个包含大量数据且性能更好的数组?

最佳答案

fetchAll()函数将整个记录映射到变量。
每次迭代映射一行要快得多

$q->execute([$id]);

$i = 0;
while ($row = $q->fetch()) {
    // do something with $row
    $i++;
}

关于php - 如何从大量数据创建数组?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50229517/

10-09 22:48
查看更多