mysql优化 - mysql慢查询copying to tmp table
问题描述
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_numberFROM `chinaetm`.`ecs_goods` AS g, `chinaetm`.`ecs_order_info` AS o, `chinaetm`.`ecs_order_goods` AS ogWHERE g.is_on_sale = 1AND g.is_alone_sale = 1AND g.is_delete = 0AND ( g.cat_id IN (’21’,’75’,’206’,’207’,’208’,’209’,’210’,’211’,’212’ ) OR g.goods_id IN (’’)) AND og.order_id = o.order_idAND og.goods_id = g.goods_idAND ( 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_idORDER BY goods_number DESC, g.goods_id DESC
explain结果
问题解答
回答1:谢邀,mysql最终处理sql的执行情况在不同环境和版本下可能有所不同,确定本地环境和线上环境是否一致,表的数据量是否一致,其次,题主可以尝试把or查询改为in查询,看看效率是否有提高。
相关文章:
1. mysql - 数据库:获取两个字段与获取*,传输的数据量差距大吗?2. mysql-配置 - MySQL错误,时不时自动挂掉,无法启动3. composer包时报错4. javascript - vue.js如何递归渲染组件.5. node.js - session怎么存到cookie,然后服务器重启后还能获取。数据库不用mongodb或redis,数据库是mysql6. docker不显示端口映射呢?7. javascript - 如何获取未来元素的父元素在页面中所有相同元素中是第几个?8. 这是什么情况???9. transform - CSS3的3D变换多次变换如何保持坐标轴不动,或者有矩阵算法可以实现否10. node.js - 如何解决阿里云上nodejs不支持import,项目npm run build后报Unexpected token import

网公网安备