我试图理解使用SQL where
子句而不是通过PHP进行选择的好处(或反之亦然)是什么让一个人比另一个人更优选或者根本不重要?这涉及一般编程中的性能,安全性和整体性。
示例:
我为什么要使用:
$sql = SELECT * FROM database WHERE id='1'
在:
$sql = "SELECT * FROM database";
foreach ($db->query($sql) as $row) {
if ($row['id'] === $id) {
...
}
}
答案 0 :(得分:4)
您不必要地将所有数据从数据库服务器转移到middletier并在中间层循环这些数据,而在db查询中它使用适当的索引并更快地检索所需的记录
答案 1 :(得分:4)
SELECT
将在数据库中执行过滤,而要在php
中进行过滤,应用程序必须通过网络将所有数据传输到php。
如果您需要从100万行中过滤掉一行,请设想CPU
使用率和网络流量。