看如下代码:
php$bankroll = $this->sgoods_bankroll->order('sb_id desc')->limit(50)->select(); foreach ($bankroll as $k=>&$v) { $sl_id = $this->bankrollpop_relations->where(array('br_sb_id'=>$v['sb_id']))->getField('br_sl_id'); $v['dang_name'] = $this->settlementpop_list->where(array('sl_id'=>$sl_id))->getField('sl_schedule_name'); }
首先查询一个列表,然后foreach这个列表每条记录,再执行两次查询,一次去relations关联表找另一个表的关联字段,一次根据这个关联字段查询表另一个字段。
如果每次foreach查两次数据库的话,那整个下来不是查几百次数据库,这样是不是效率很低,一般这种情况可以怎么优化查询逻辑?
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
ringa_lee