通过一个实例给大家分享了mysql sending data表查询慢问题解决办法。
最近在代码优化中,发现了一条sql语句非常的慢,于是就用各种方法进行排查,最后终于找到了原因。
一、事故现场
select og.goods_barcode, og.color_id, og.size_id, sum(og.goods_number) as sold_number from order o
left join order_goods og on o.order_id = og.order_id where o.is_send = 0 and o.shipping_status = 0
and o.create_time > '2017-10-10 00:00:00' and o.ck_id = 1 and og.goods_id = 13421 and o.is_separate = 1 and o.order_status in (0, 1) and og.is_separate = 1
group by og.color_id, og.size_id
上面的这条语句是一个联表分组查询语句。
执行结果:
我们可以看到,这条语句用了 1.300 秒, 而 sending data 就用了 1.28 秒,占用了将近 99% 的时间,所以,我们对这个进行优化。
怎么优化呢?
二、sql语句分析三板斧