反馈人:李冠
严重级别:严重
所属项目:walmart
问题原因:超慢SQL问题,执行300秒+,(大表)大量回表,SQL为(SELECT
id,source_id,source_name,sku,source_sku,item_id,feed_id
FROM t_walmart_execute_queue
WHERE (source_id = 20343 AND strategy_type = 9 AND business_status = 0 AND business_status = 0 AND is_deleted = 0) ORDER BY id ASC limit 500)
解决方案:先查ID,再JOIN查询数据,避免大量回表,优化后SQL为(从几百秒下降到毫秒级):(SELECT
t.id,t.source_id,t.source_name,t.sku,t.source_sku,t.item_id,t.feed_id from t_walmart_execute_queue t join (select id
FROM t_walmart_execute_queue
WHERE (source_id = 20343 AND strategy_type = 9 AND business_status = 0 AND business_status = 0 AND is_deleted = 0) ORDER BY id ASC limit 500) tt on t.id=tt.id)
重现步骤
原因:查询的字段不在索引中未命中索引,故性能差,
解决方案 :已经按照建议方案方向做调整