mysql优化 - mysql慢查询copying to tmp table

 纸鸢漫天飞舞 发布于 2022-10-31 09:18

windows server,无论修改my.ini的tmp_table_size,max_heap_table_size到多少,情况都一样。
同样的表和查询语句,在本地运行,没出现慢查询。

SELECT
    g.goods_id,
    g.goods_name,
    g.shop_price,
    g.goods_thumb,
    SUM(og.goods_number) AS goods_number
FROM
    `chinaetm`.`ecs_goods` AS g,
    `chinaetm`.`ecs_order_info` AS o,
    `chinaetm`.`ecs_order_goods` AS og
WHERE
    g.is_on_sale = 1
AND g.is_alone_sale = 1
AND g.is_delete = 0
AND (
    g.cat_id IN (
        '21',
        '75',
        '206',
        '207',
        '208',
        '209',
        '210',
        '211',
        '212'
        
    ) OR g.goods_id IN ('')
) AND og.order_id = o.order_id
AND og.goods_id = g.goods_id
AND (
    o.order_status = '1'
    OR o.order_status = '5'
)
AND (
    o.pay_status = '2'
    OR o.pay_status = '1'
)
AND (
    o.shipping_status = '1'
    OR o.shipping_status = '2'
)
GROUP BY
    g.goods_id
ORDER BY
    goods_number DESC,
    g.goods_id DESC

explain结果

1 个回答
  • 谢邀,
    mysql最终处理sql的执行情况在不同环境和版本下可能有所不同,确定本地环境和线上环境是否一致,表的数据量是否一致,其次,题主可以尝试把or查询改为in查询,看看效率是否有提高。

    2022-10-31 23:00 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有