第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

mysql循環(huán)查詢優(yōu)化

mysql循環(huán)查詢優(yōu)化

元芳怎么了 2019-05-24 11:06:37
foreach($listas$key=>$val){$orderId=$val['ORDER_ID'];//訂單業(yè)績歸屬人$orderPerform=$OrderQueryMod->getOrderPerform($orderId);//訂單產(chǎn)品信息$productInfo=M('order_detail_info')->where(array('ORDER_ID'=>$orderId))->select();//訂單類型:1正常訂單2擴容續(xù)費3壓貨4支付碼訂單switch($val['ORDER_TYPE']){case1:$ordertype='正常訂單';break;case2:$ordertype='擴容續(xù)費';break;case3:$ordertype='壓貨訂單';break;case4:$ordertype='支付碼訂單';break;}foreach($orderPerformas$k=>$v){$num=0;foreach($productInfoas$kk=>$vv){$num++;$salesOffId=M('consignment_info')->where(array('ORDER_ID'=>$orderId))->getField('SALES_OFF');$data[$j]['銷售部門']=D('config_system')->where(array('CONFIG_KEY'=>'SALES_OFF','CONFIG_VALUE'=>$salesOffId))->getField('CONFIG_DESCRIPTIO');;$data[$j]['訂單號']=$orderId;$data[$j]['訂單標(biāo)識碼']=$orderId.'-'.$num;$data[$j]['訂單金額']=$vv['INCOME']/100;$data[$j]['訂單類型']=$ordertype;$receivedMoney=($vv['INCOME']/100)*(($val['RECEIVED_MONEY']/100)/($val['TOTAL_MONEY']/100));$data[$j]['到款金額']=round($receivedMoney,2);$data[$j]['成本金額']=$vv['COST']/100;$performBfRebate=($vv['INCOME']/100)*($val['PERFORM_BF_REBATE']/($val['TOTAL_MONEY']/100));$data[$j]['返點前業(yè)績']=round($performBfRebate,2);$data[$j]['返點比例']=$val['REBATE_PERCENT'];$data[$j]['是否特價審批單']=$val['IS_BARGAIN_PRICE']==0?'非特價':'特價';$data[$j]['結(jié)算方式']=M('config_system')->where(array('CONFIG_KEY'=>'SETTLEMENT_TYPE','CONFIG_VALUE'=>$val['PAY_TYPE']))->getField('CONFIG_DESCRIPTIO');$salesmanId=$val['SALESMAN_ID'];$deptId=$v['DEPT_ID'];$data[$j]['部門']=M('config_dept_info')->where(array('DEPT_ID'=>$deptId))->getField('DEPT_NAME');$data[$j]['業(yè)績歸屬人']=$v['SALESMAN_NAME'];$data[$j]['業(yè)績分配比例']=$v['PERCENT'];$saler_info=$OrderQueryMod->GetOrderSaler($val['APPLY_SALER_ID']);$second_saler_info=$OrderQueryMod->GetOrderSaler($val['SECONDARY_SALER_ID']);$data[$j]['一級經(jīng)銷商SAP主數(shù)據(jù)編號']=empty($saler_info['SAP_UID'])?'無':$saler_info['SAP_UID'];$data[$j]['經(jīng)銷商全稱']=$saler_info['REAL_NAME'];$data[$j]['二級經(jīng)銷商SAP主數(shù)據(jù)編號']=empty($second_saler_info['SAP_UID'])?'無':$second_saler_info['SAP_UID'];$data[$j]['二級經(jīng)銷商']=$second_saler_info['REAL_NAME'];$consignerTime=$val['SAP_CONSIGNER_TIME'];$data[$j]['發(fā)貨日期']=empty($consignerTime)?'無':date('Y-m-d',strtotime($consignerTime));if(empty($consignerTime)){$data[$j]['季度']='';$data[$j]['周起止']='';}else{$consignerTimeMonths=date('m',strtotime($consignerTime));if(in_array($consignerTimeMonths,array('01','02','03'))){$data[$j]['季度']=1;}if(in_array($consignerTimeMonths,array('04','05','06'))){$data[$j]['季度']=2;}if(in_array($consignerTimeMonths,array('07','08','09'))){$data[$j]['季度']=3;}if(in_array($consignerTimeMonths,array('10','11','12'))){$data[$j]['季度']=4;}$lastday=date('Y-m-d',strtotime("$consignerTimeThursday"));$firstday=date('Y-m-d',strtotime("$lastday-6days"));$data[$j]['周起止']=date('m.d',strtotime($firstday)).'-'.date('m.d',strtotime($lastday));}$finalUser=$OrderQueryMod->GetOrderFinaluser($val['FINAL_USER_ID']);$data[$j]['最終用戶名稱']=$finalUser['FINAL_USER_NAME'];$data[$j]['項目類型']=D('config_system')->where(array('CONFIG_KEY'=>'FINAL_USER_TYPE','CONFIG_VALUE'=>$finalUser['FINAL_USER_TYPE']))->getField('CONFIG_DESCRIPTIO');;$provinceId=$finalUser['FINALE_USER_PROVINCE'];$areaId=M('config_province_info')->where("PROVINCE_ID=$provinceId")->getField('AREA_ID');$areaName=M('config_area_info')->where("AREA_ID=$areaId")->getField('AREA_NAME');$data[$j]['區(qū)域']=$areaName;$provinceName=M('config_province_info')->where("PROVINCE_ID=$provinceId")->getField('PROVINCE_NAME');$data[$j]['省']=$provinceName;$cityId=$finalUser['FINALE_USER_CITY'];$cityName=M('config_city_info')->where("CITY_ID=$cityId")->getField('CITY_NAME');$data[$j]['市']=$cityName;$data[$j]['詳細(xì)地址']=$finalUser['FINAL_USER_ADDRESS'];$customType=$finalUser['CUSTOM_TYPE'];$customTypeName=M('customer_type_info')->where("CUSTOMER_TYPE=$customType")->getField('CUSTOMER_TYPE_NAME');$data[$j]['客戶類型']=$customTypeName;$customIndustry=$finalUser['CUSTOMER_INDUSTRY'];$customIndustryName=M('customer_industry_info')->where("CUSTOMER_INDUSTRY_ID=$customIndustry")->getField('CUSTOMER_INDUSTRY_NAME');$data[$j]['客戶行業(yè)']=$customIndustryName;$data[$j]['CRM客戶編號']=empty($finalUser['CRM_CUSTOM_ID'])?'無':$finalUser['CRM_CUSTOM_ID'];$data[$j]['CRM項目編號']=empty($val['CRM_PROJECT_ID'])?'無':$val['CRM_PROJECT_ID'];$data[$j]['采購聯(lián)系人']=$finalUser['PURCHASER'];$data[$j]['采購聯(lián)系人電話']=empty($finalUser['PURCHASER_PHONE'])?'無':$finalUser['PURCHASER_PHONE'];$data[$j]['采購聯(lián)系人郵箱']=$finalUser['PURCHASER_EMAIL'];$data[$j]['IT部/信息部負(fù)責(zé)人']=$finalUser['TECHNICIAN'];$data[$j]['IT部/信息部負(fù)責(zé)人電話']=empty($finalUser['TECHNICIAN_PHONE'])?'無':$finalUser['TECHNICIAN_PHONE'];$data[$j]['IT部/信息部負(fù)責(zé)人郵箱']=$finalUser['TECHNICIAN_EMAIL'];$data[$j]['WPS+賬號聯(lián)系人']=$finalUser['WPS_CONTACTOR'];$data[$j]['WPS+賬號聯(lián)系人電話']=empty($finalUser['WPS_CONTACTOR_PHONE'])?'無':$finalUser['WPS_CONTACTOR_PHONE'];$data[$j]['WPS+賬號聯(lián)系人郵箱']=$finalUser['WPS_CONTACTOR_EMAIL'];$wpsAccount=M('order_inferior_user')->where(array('ORDER_ID'=>$orderId,'WPS_ACCOUNT_ID'=>array('neq','')))->getField('WPS_ACCOUNT_ID',true);$wpsAccountstr=empty($wpsAccount)?'':implode(',',$wpsAccount);$data[$j]['WPS+賬號']=$wpsAccountstr;$data[$j]['支付碼']=M('order_grant_code')->where(array('ORDER_ID'=>$orderId))->order('IDDESC')->getField('GRANT_CODE');if($vv['PRODUCT_ID']==60||$vv['PRODUCT_ID']==61||$vv['PRODUCT_ID']==109||$vv['PRODUCT_ID']==110){$data[$j]['是否贈送服務(wù)']='否';}else{$data[$j]['是否贈送服務(wù)']=$vv['SERVICE_TYPE']==''||$vv['SERVICE_TYPE']==-1?'否':'是';}$productId=$vv['PRODUCT_ID'];$productCategory=M('config_product_info')->where(array('PRODUCT_ID'=>$vv['PRODUCT_ID']))->getField('PRODUCT_CATEGORY');$data[$j]['產(chǎn)品類']=M('config_system')->where(array('CONFIG_KEY'=>'PRODUCT_CATEGORY','CONFIG_VALUE'=>$productCategory))->getField('CONFIG_DESCRIPTIO');$data[$j]['物料描述']=M('config_product_info')->where(array('PRODUCT_ID'=>$productId))->getField('PRODUCT_DETAIL_NAME');$productType=M('config_product_info')->where(array('PRODUCT_ID'=>$vv['PRODUCT_ID']))->getField('PRODUCT_TYPE');if($productCategory==1&&$productType==1||$productType==3){$serialIds=M('serial_number')->where(array('ORDER_ID'=>$orderId,'SERIAL_NUMBER'=>array('neq','')))->getField('SERIAL_ID',true);$serialTypeStr='';foreach($serialIdsas$serialId){$serialTypeInfo=M('serial_number')->where(array('SERIAL_ID'=>$serialId))->field('USE_AREA,LANGUAGE_TYPE')->find();$serialTypeStr.=implode(',',$serialTypeInfo).'|';}$serialTypeStr=str_replace("china","中國",$serialTypeStr);$serialTypeStr=str_replace("england","英國",$serialTypeStr);$serialTypeStr=str_replace("japan","日本",$serialTypeStr);$serialTypeStr=str_replace("chn","中文",$serialTypeStr);$serialTypeStr=str_replace("enu","英文",$serialTypeStr);$serialTypeStr=str_replace("jpn","日文",$serialTypeStr);$data[$j]['序列號類型']=rtrim($serialTypeStr,'|');}else{$data[$j]['序列號類型']='無';}if($productCategory==1){$authorizedType=$vv['AUTHORIZED_TYPE'];$data[$j]['授權(quán)類型']=M('config_system')->where(array('CONFIG_KEY'=>'AUTHORIZED_TYPE','CONFIG_VALUE'=>$authorizedType))->getField('CONFIG_DESCRIPTIO');}else{$authorizedType=$vv['SPEC'];$data[$j]['授權(quán)類型']=M('config_system')->where(array('CONFIG_KEY'=>'PRODUCT_SPECS','CONFIG_VALUE'=>$authorizedType))->getField('CONFIG_DESCRIPTIO');}$data[$j]['授權(quán)范圍']=$vv['AUTHORIZED_RANGE'];$data[$j]['介質(zhì)數(shù)量']=$vv['TANN_COUNT'];$data[$j]['授權(quán)數(shù)量']=$vv['AMOUNT'];$data[$j]['單價']=$vv['PRICE']/100;$data[$j]['到期后授權(quán)數(shù)量']=$vv['EXPIRE_AUTHORIZED_AMOUNT'];$data[$j]['服務(wù)年限']=empty($vv['SERVICE_LENGTH'])?0:$vv['SERVICE_LENGTH'];$data[$j]['服務(wù)截止時間']=empty($vv['SERVICE_LENGTH'])?date('Y-m-d',strtotime('+0years10days',strtotime($val['APPLY_TIME']))):date('Y-m-d',strtotime('+'.$vv['SERVICE_LENGTH'].'years10days',strtotime($val['APPLY_TIME'])));$data[$j]['授權(quán)年限']=empty($vv['AUTHORIZED_YEARS'])?0:$vv['AUTHORIZED_YEARS'];if($vv['AUTHORIZED_YEARS']=='永久'){$data[$j]['授權(quán)截止時間']='永久';}elseif($vv['AUTHORIZED_YEARS']=='隨設(shè)備'){$data[$j]['授權(quán)截止時間']=date('Y-m-d',strtotime('+5years10days',strtotime($val['APPLY_TIME'])));}else{$data[$j]['授權(quán)截止時間']=empty($vv['AUTHORIZED_YEARS'])?date('Y-m-d',strtotime('+0years10days',strtotime($val['APPLY_TIME']))):date('Y-m-d',strtotime('+'.$vv['AUTHORIZED_YEARS'].'years10days',strtotime($val['APPLY_TIME'])));}$isFinal=M('saler_info')->where(array('SALER_ID'=>$val['APPLY_SALER_ID']))->getField('IS_FINAL');$data[$j]['訂方性質(zhì)']=$isFinal==1?'最終用戶':'經(jīng)銷商';$data[$j]['供貨方']=M('order_info')->where(array('ORDER_ID'=>$orderId))->getField('SALES_ORG');$wuliao=M('config_product_info')->where(array('PRODUCT_ID'=>$vv['PRODUCT_ID']))->find();if(empty($wuliao['TAP'])&&empty($wuliao['TANN'])&&empty($wuliao['TAN'])){$data[$j]['SAP單號']='';}else{$data[$j]['SAP單號']=empty($val['SAP_SALES_ORDER_ID'])?'':(int)$val['SAP_SALES_ORDER_ID'];}$data[$j]['合同編號']=empty($val['CONTRACT_CODE'])?'無':$val['CONTRACT_CODE'];$data[$j]['下單備注']=$val['DESCRIPTION'];$description=D('order_audit_log')->where(array('AUDIT_TYPE'=>1,'LOG_STATE'=>1,'ORDER_ID'=>$orderId))->getField('DESCRIPTION');$data[$j]['訂單規(guī)范檢查備注']=empty($description)?'':$description;$data[$j]['訂單審核備注']=D('order_audit_log')->where(array('ORDER_ID'=>$orderId,'AUDIT_TYPE'=>3,'LOG_STATE'=>1))->getField('DESCRIPTION');$data[$j]['序列號設(shè)置備注']=D('order_audit_log')->where(array('ORDER_ID'=>$orderId,'AUDIT_TYPE'=>14,'LOG_STATE'=>1))->getField('DESCRIPTION');$data[$j]['打印授權(quán)書審核備注']=D('order_audit_log')->where(array('ORDER_ID'=>$orderId,'AUDIT_TYPE'=>15,'LOG_STATE'=>1))->getField('DESCRIPTION');$data[$j]['報備審核備注']=D('order_audit_log')->where(array('ORDER_ID'=>$orderId,'AUDIT_TYPE'=>2,'LOG_STATE'=>1))->getField('DESCRIPTION');if($val['INVOICE_OWNER_PROVINCE']==$val['INVOICE_OWNER_CITY']){$cityId=$val['INVOICE_OWNER_CITY'];$cityName=M('config_city_info')->where("CITY_ID=$cityId")->getField('CITY_NAME');$data[$j]['發(fā)票收件地址']=$cityName.$val['INVOICE_OWNER_ADDRESS'];}else{$provinceId=$val['INVOICE_OWNER_PROVINCE'];$provinceName=M('config_province_info')->where("PROVINCE_ID=$provinceId")->getField('PROVINCE_NAME');$cityId=$val['INVOICE_OWNER_CITY'];$cityName=M('config_city_info')->where("CITY_ID=$cityId")->getField('CITY_NAME');$data[$j]['發(fā)票收件地址']=$provinceName.$cityName.$val['INVOICE_OWNER_ADDRESS'];}$data[$j]['發(fā)票收件人']=$val['INVOICE_OWNER'];$data[$j]['發(fā)票收件人電話']=empty($val['INVOICE_OWNER_PHONE'])?'無':$val['INVOICE_OWNER_PHONE'];$j++;}}}$list大約有4000左右條數(shù)據(jù)打印日志到超時大約有20M的sql日志每條sql執(zhí)行時間都在0.00幾秒有什么辦法或者思路優(yōu)化呢?
查看完整描述

2 回答

?
慕桂英546537

TA貢獻(xiàn)1848條經(jīng)驗 獲得超10個贊

4000次的循環(huán)本身并不大,如果循環(huán)里僅僅是對內(nèi)存的操作其實很快就應(yīng)該完成,但是你在循環(huán)里做了很多次數(shù)據(jù)庫操作,這應(yīng)該就是造成性能問題的根本原因。盡管每條sql執(zhí)行都很快,但是你忽略了每次執(zhí)行所帶來的網(wǎng)絡(luò)io開銷時間。我才想4000次的循環(huán)里如此多的數(shù)據(jù)庫操作足以是你的腳本超時了,當(dāng)你所提到超時時,我認(rèn)為你的php運行在fastcgi模式下。那么你有兩種方法來解決1,將sql操作合并,一次或幾次在循環(huán)之外一口氣得到所有的數(shù)據(jù),再在循環(huán)中進(jìn)行分門別類。我相信這樣做會立竿見影的提升效率。2,如果這個操作不是及時性的,那么可以嘗試放在cli模式下運行,你不用修改代碼,盡管效率同樣低,但cli模式下腳本不會超時。
另外如果你所獲得到數(shù)據(jù)總量很大,那么還要考慮php本身為腳本所分配的最大可用內(nèi)存,如果這個值低于你獲取的數(shù)據(jù)所需要的內(nèi)存,那么即便在cli模式腳本還是得崩。這個配置好像是在php.ini里一個叫max_memory_size定義的,名字可能不準(zhǔn)確,我記不太清了
                            
查看完整回答
反對 回復(fù) 2019-05-24
?
猛跑小豬

TA貢獻(xiàn)1858條經(jīng)驗 獲得超8個贊

我一般查兩次數(shù)據(jù)庫,將人的信息和訂單的信息全部取出(需要的部分哈),然后用PHP對兩個數(shù)組進(jìn)行重新運算、組合。一般很快就完成了。而不必要為了每一條數(shù)據(jù)去查一次數(shù)據(jù)庫。我看到上面為了獲取部門還查了一次數(shù)據(jù)庫,感覺很不必要。在項目中一些常用的數(shù)據(jù)小的可以用配置文件,大的可以用緩存。
                            
查看完整回答
反對 回復(fù) 2019-05-24
  • 2 回答
  • 0 關(guān)注
  • 790 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號