此更新代码有没有办法提高效率
foreach($param as $k=>$v){$arr[$k] = array('pro_id'=>$v['id'],'addtime'=>$shij,'qpsl'=>$v['qpsl'],'discount'=>1);
}
上面这段代码是将数组重新排列
foreach($param as $k=>$v){
$this->odb->updatetable('hx_order_product','order_id = '.$id.' and pro_bh="'.$v['bh'].'"',$arr[$k]);
}
代码更新效率不高,200条不到的数据,运行要20-30秒,而且cpu占用到50-80%瞬间网站卡的不行!
foreach($param as $k=>$v){
$this->db->query("UPDATE hx_order_product SET pro_id =".$v['id'].", addtime = ".$shij.", qpsl = ".$v['qpsl'].", discount = 1 WHERE order_id = ".$id." and pro_bh= '".$v['bh']."'");
}
这样应该看的更加明白一点,就这语句,200条数据,cpu占用50-80%,要运行20-30秒,有没有办法优化呀 一條sql語法,
被執行了200次,
會有什麼好效能? 就是想问下高手有没有什么办法能更有效率点,小弟我初学的 請檢視一下下列的問題
1.資料表設計---能不能符合多表關連,有沒有使用適合的字段類型,確認操作條件符合
2.程式設計--符合MVC架構,使用OO,符合CI規範,對Mysql操作熟練.
3.對Framework(CodeIginter)操作嫻熟.
4.對LAMP架構清礎
5.找到好的書,或者請教懂的人.
比如樓主的sql操作,
可以試者使用 $this->db->update_batch();
页:
[1]