MySQL 有什么方法提高SUM的性能?
怪我咯
怪我咯 2017-04-17 13:33:44
[MySQL讨论组]
SELECT DATE_FORMAT(FROM_UNIXTIME(`pd`.`pdet_create_time`), "%m-%d") AS `days`,
                SUM(`pd`.`pdet_money`) AS `sum`
        FROM `web_payment_details` AS `pd`

        LEFT JOIN `web_user`   AS `user`   ON `user`.`use_id` = `pd`.`use_id`
        LEFT JOIN `web_use_invite` AS `use_invite` ON `use_invite`.`use_id` = `pd`.`use_id`

        WHERE `user`.`use_auto_reg`=0
        AND `pd`.`pdet_type` = 1 # 任务完成条件
        AND TO_DAYS(FROM_UNIXTIME(`pd`.`pdet_create_time`)) <= TO_DAYS(FROM_UNIXTIME(`user`.`use_regtime`+(86400*7)))
        AND `pd`.`pdet_create_time` >= 1449244800
        GROUP BY `pd`.`use_id`
        
        
        
        EXPLAIN的结果:
        

1    SIMPLE    pd    ref    index_ui_pi_pt,pt    pt    1    const    70155    Using where; Using temporary; Using filesort
            
1    SIMPLE    user    eq_ref    PRIMARY    PRIMARY    4    wan.pd.use_id    1    Using where

1    SIMPLE    use_invite    ref    use_id    use_id    4    wan.pd.use_id    1    Using index
怪我咯
怪我咯

走同样的路,发现不同的人生

全部回复(1)
怪我咯

建立适当的索引。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号