【发布时间】:2017-03-04 12:39:34
【问题描述】:
我有以下代码,其中我使用循环内的循环来创建 PHP 数组:
$result= mysqli_query($myqueri1);
while($row = mysqli_fetch_assoc($result))
{
$result1=mysqli_query($myqueri2); //This query utilizes a variable obtained from the outer loop. So this cant be written outside the loop.
while($row = mysqli_fetch_assoc($result))
{
//Operations
}
}
这两个数组包含近 50k 行。并且它们被编入索引。
不过,我更关心优化问题。如果我将循环 1 的所有结果存储到一个 PHP 数组中,然后遍历它,这有什么区别吗?还是使用while($row = mysqli_fetch_assoc($result)) 与通过常见的PHP 循环相同?哪个更优化?
【问题讨论】:
-
不清楚为什么需要一个 php 循环。但是您的示例并未解释您为什么要这样做。性能方面考虑加入。假设 mysql 或 mariadb 开发人员在 C 甚至汇编方面做得很好,可能比在 PHP 中做得更好。单个查询即使生成冗余数据也会有更好的性能。
标签: php mysql optimization mysqli query-optimization