php程序优化

来源:互联网 发布:java -jar 端口 编辑:程序博客网 时间:2024/06/03 07:09

1、不要在循环里查询数据库

弊端:用户体验差,增加数据库的并发量
如果有100个订单,那就要循环100次,即使每次查询只要0.01s,100次也有1s了。

在循环里面查询数组实例

 $backData = []; foreach($orderList as $key=>$value){       $new = $value;    $product = new mProduct();    $pInfo = $product->getInfoById($value['pID']);    $image = '';    if($pInfo){       $image = $pInfo['Image'];    }                $new['Image'] = $image;    array_push($backData,$new);}

解决办法:
可以先获得所有的产品id后,一次性查询出所有的产品信息,然后在循环查询出的产品信息,根据产品id和订单信息做关联

 $backData = []; $ids = []; foreach($orderList as $key=>$value){       $new = $value;    array_push($ids,$new['pid']);    ....    array_push($backData,$new);}$product = new mProduct(); if($ids){   $productsInfo = $product->getInfoById($ids);    foreach($backData as $k=>&$v){        $v['Image'] = $productsInfo[$v['pID']]['Image'];    }}

附:产品查询函数getInfoById根据传入的是数组还是字符串进行数据库操作

原创粉丝点击