mysql-哪位大神告诉我这个sql怎么优化,有执行计划图
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了mysql-哪位大神告诉我这个sql怎么优化,有执行计划图,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3898字,纯文字阅读大概需要6分钟。
内容图文
![mysql-哪位大神告诉我这个sql怎么优化,有执行计划图](/upload/InfoBanner/zyjiaocheng/568/95d8681e5f364028aafcd0d220ed371c.jpg)
EXPLAIN SELECT *, CAST(prorder.deliveryfeedback as char) as deliveryfeedback, CAST(prorder.pocreatedate as char) as pocreatedate FROM ( SELECT request.fnumber, request.purtaskid, rd.request_detail_id, rd.request_id, item.skuid, item.sku, item.purdesc, item.purspec, CONCAT(request.purtaskid,'',rd.skuid) as combineid, rd.stopkg, rd.purpkg, rd.reqpurqty, rd.requestqty, rd.poqty, rd.piqty, rd.sponroadqty, rd.revshipqty, rd.podate, rd.pidate, rd.shipdate, rd.revshipdate, rd.skulabel, rd.reqdeliverydate, rd.purpkgid, request.fstatus, request.urgency, date_format(request.checktime, '%Y-%m-%d %T') as checktime, sys_user.firstname, CONCAT(sys_user.firstname,'',sys_user.lastname) as username, Sysuser.email, date_format(request.create_date, '%Y-%m-%d') createdate FROM rs_request_detail rd inner join rs_request request on request.request_id = rd.request_id left join bs_item item on rd.skuid = item.skuid LEFT JOIN sys_user Sysuser ON Sysuser.userid = request.user_id left join sys_user sys_user on item.pmid = sys_user.userid WHERE (1 = 1) and item.isvirtual=0 and request.purtaskid>0 and request.fstatus in(22,23,30) ORDER BY rd.request_id DESC LIMIT 1,5000 ) T LEFT JOIN ( SELECT GROUP_CONCAT(distinct pod.delivery_feedback) deliveryfeedback, MAX(pod.delivery_feedback) deliveryfeedbackmax , po.createdate AS pocreatedate, po.purtaskid, pod.skuid, pod.delivery_feedback_remark, 'CNY' as curno, GROUP_CONCAT(distinct po.orderno) orderno, FORMAT(SUM((SELECT rate FROM exchange_rate WHERE money_type = po.curno )*pod.price/ (SELECT rate FROM exchange_rate WHERE money_type = 'CNY')*pod.purqty)/ SUM(pod.purqty),2) as amount FROM pr_order po INNER JOIN pr_order_detail pod ON po.prorderid = pod.prorderid and po.purtaskid > 0 where po.purtaskid > 0 GROUP BY po.purtaskid,pod.skuid ORDER BY NULL ) prorder on prorder.purtaskid=T.purtaskid and prorder.skuid=T.skuid LEFT join ( select A.purtaskid, A.skuid, SUM(A.quantity) detectquantity, SUM(A.batchCheckNum) batchCheckNum, date_format(A.transdate,'%Y-%m-%d %H:%i:%s') transdate, date_format(A.detectDate,'%Y-%m-%d %H:%i:%s') detectDate from ( select prorder.prorderid, detect.detect_id, prorder.purtaskid, detect.skuid, detect.quantity, SUM(detectdetail.batchCheckNum) as batchCheckNum, detect.transdate, IFNULL(detectdetail.detectDate,DATE('9999-01-01')) as detectDate from pr_order prorder INNER join scm_detect detect on prorder.prorderid = detect.prorderid and prorder.purtaskid>0 LEFT join scm_detect_detail detectdetail on detectdetail.detect_id =detect.detect_id GROUP BY prorder.purtaskid,detect.skuid,detect.detect_id ORDER BY NULL ) A GROUP BY A.purtaskid,A.skuid ORDER BY NULL ) detectd on detectd.purtaskid=T.purtaskid and detectd.skuid=T.skuid ORDER BY T.request_id DESC
内容总结
以上是互联网集市为您收集整理的mysql-哪位大神告诉我这个sql怎么优化,有执行计划图全部内容,希望文章能够帮你解决mysql-哪位大神告诉我这个sql怎么优化,有执行计划图所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。