PHP循环代码不断获取数据库内容,导致数据读取很慢,怎么去修改下面的代码让数据读取快点?(Thinkphp)

foreach($orderinfo as $key=>$val){
$each_list = $modelattr->where("order_sn='".$val["order_num"]."'")->select();
array_push($client_same, $each_list[0]["client_name"]);
$list=array_merge($list, $each_list);
}

第1个回答  2013-09-28
数据库的读取能一次查询完成的尽量不要分成多次查询
不知道你用的是什么框架,如果有where_in方法的话可以用它来解决,先要构造出order_sn值的数组
没有的话就自己构造'or'条件字符串,然后用where一次查询完成
第2个回答  2013-09-28
$each_list = $modelattr->where("order_sn='".$val["order_num"]."'")->select();

这一句没有看懂,是Thinkphp中数据库类吗?

如果愿意自己写sql的话,可以尝试一下sql中用in,不过效率未见好到哪里去。本回答被提问者和网友采纳
第3个回答  2013-09-29
改成一次性读取,先循环代码,后一次性读取数据
相似回答