weixin_38051658 2019-07-27 15:31 采纳率: 0%
浏览 938

mysql 查询优化,子查询和sum orderby 一起使用后运行很慢,球大神指点

SELECT
    s.*,
    (SELECT SUM(pay_price) AS total_money
FROM hjmallind_order
WHERE is_show = 1
    AND is_delete = 0
    AND store_id = 2
    AND is_cancel = 0
    AND is_sale = 1
    AND is_confirm = 1
    AND user_id IN (SELECT id
        FROM hjmallind_user
        WHERE is_delete = 0
            AND is_distributor != 1
            AND store_id = 2
            AND parent_id = s.user_id
            OR user_id = s.user_id)) as total_money
FROM
    hjmallind_share AS s

WHERE
    s.is_delete = 0 
    AND s.store_id = 2 
    AND s.STATUS = 1 
    ORDER BY total_money
    LIMIT 5







  • 写回答

2条回答 默认 最新

  • Json-Huang 2019-07-27 23:03
    关注

    1、可以用explain 看下执行计划;
    2、考虑给部分字段加下索引,比如pay_price,user_id,total_money,parent_id

    评论

报告相同问题?

悬赏问题

  • ¥15 js调用html页面需要隐藏某个按钮
  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?
  • ¥20 java项目连接sqlserver时报ssl相关错误
  • ¥15 一道python难题3
  • ¥15 牛顿斯科特系数表表示
  • ¥15 arduino 步进电机
  • ¥20 程序进入HardFault_Handler
  • ¥15 关于#python#的问题:自动化测试
  • ¥20 问题请教!vue项目关于Nginx配置nonce安全策略的问题