有这样一个需求:要查询id从1到100的数据,有两种解决方式
遍历100次,每次查询单条数据
<?php
// 琼台博客 www.qttc.net
for($i=1;$i<=100;$i++){
$id = $i;
$sql = 'SELECT * FROM tab id='.$id;
// ...查询数据
}
?>
一次查询100条信息
<?php
// 琼台博客 www.qttc.net
$sql = 'SELECT * FROM tab id>=1 AND id<=100';
// ... 查询数据
?>
以上两种查询都能查询到100条信息,但推荐使用第二种方式。因为尽量少链接数据库是提升Web优化方案的首要条件,其次遍历查询可能会导致瞬间并发请求过多而导致各种状况出现。虽然一次查询N条会有点慢,耗点资源,但相比多次连接MySQL,然后解析查询语句,从库中查询返回结果等等来说,一次查询全部有绝对优势。
当然,也有这样的需求,id从1到100,排除8,像这样的业务场景也可以用以上的语句一下全查出来,再PHP层再过滤掉。但假如要排除的ID比较多,就可以用IN
的关键字,总之还是要看业务场景去优化