使用SQL' WHERE'有什么好处?通过PHP选择?

时间:2017-05-09 21:54:13

标签: php mysql sql-server

我试图理解使用SQL where子句而不是通过PHP进行选择的好处(或反之亦然)是什么让一个人比另一个人更优选或者根本不重要?这涉及一般编程中的性能,安全性和整体性。

示例:

我为什么要使用:

$sql = SELECT * FROM database WHERE id='1'

在:

$sql = "SELECT * FROM database";
foreach ($db->query($sql) as $row) {
    if ($row['id'] === $id) {
        ...
    }
}

2 个答案:

答案 0 :(得分:4)

您不必要地将所有数据从数据库服务器转移到middletier并在中间层循环这些数据,而在db查询中它使用适当的索引并更快地检索所需的记录

答案 1 :(得分:4)

SELECT将在数据库中执行过滤,而要在php中进行过滤,应用程序必须通过网络将所有数据传输到php。

如果您需要从100万行中过滤掉一行,请设想CPU使用率和网络流量。