你真的不想把SQL放在一个循环中你将执行100个查询而不是一个查询。
当你可以使用如下图所示的简单聚合以获得最佳性能时,这会破坏你网站的性能。
此外,不推荐使用mysql库,而是使用mysqli。
这样做:
$sql = ‘SELECT interviewer, AVG(time) AS avg_time
FROM lucky
WHERE interviewer BETWEEN 1 AND 100
GROUP BY interviewer’;
$mysqli = new mysqli(“localhost”, “my_user”, “my_password”, “world”);
// Execute the query
$result = $mysqli->query($sql);
// Display the results in a table
echo ‘
while ($row = $result->fetch_assoc()) {
echo ‘
‘;
echo ‘
‘ . $row[‘interviewer’] . ”;
echo ‘
‘ . round($row[‘avg_time’], 2) . ”;
echo ‘
‘;
}
echo ‘
‘;
// Close the resultset
$result->close();
我上面所做的是拉动所有采访者的平均时间,由采访者将他们分组#。
这将自动消除数据库级别的失踪访调员。
然后,我使用while循环遍历数据库结果。
这是从数据库中查询和显示多个项目的公认编程实践。 DB在过滤和聚合数据方面非常快。用它来擅长它。如果你试图将这个逻辑推出到PHP中,并且对数据库进行100次查询,那么你将无延迟地增加100倍的延迟和连接处理。