php - 求大神,如何优化这条sql
巴扎黑
巴扎黑 2017-04-11 10:17:13
[PHP讨论组]

语句是这样的:

SELECT
    *
FROM
    (
        SELECT
            DAY AS times,
            ifnull(SUM(bid_request), 0) AS bid_request,
            count(*) AS winnotice,
            ifnull(SUM(budget), 0) AS budget,
            ifnull(SUM(cost), 0) AS cost
        FROM
            pmp_report_history_creative
        WHERE
            1 = 1
        AND STATUS = 1
        AND type = 0
        GROUP BY
            DAY
    ) tb1
WHERE
    tb1.times BETWEEN '2016-12-13'
AND '2016-12-19';

这样查询需要15秒左右,而且还加了索引,索引如下:

请问如何优化这条sql,谢谢:)

巴扎黑
巴扎黑

全部回复(1)
高洛峰

你是先把所有数据group by DAY了,然后取出指定日期的计算量当然大了

应该是先取指定日期的再group by,还有不需要嵌套,你外层就限定日期的,啥都没做,直接去掉

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

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