慢sql top 10,缺少大量索引,执行需要30分钟
2.解决方案: 在晚上业务使用量少的时候创建
索引优化建议:
- 建议在数据表 irobotbox_marketpublish.ap_autopublish_ebay_allsku 的 UniqueId,StrategyId,OrderSourceId,CustomerId,Sku 列上添加如下索引,以提高查询性能:
ALTER TABLE `irobotbox_marketpublish`.`ap_autopublish_ebay_allsku` ADD INDEX `idx_UniqueId_StrategyId_OrderSourceId_CustomerId_Sku` (`UniqueId`, `StrategyId`, `OrderSourceId`, `CustomerId`, `Sku`)
注意:在业务高峰期,变更表结构存在风险,请谨慎操作!
3.SQL
SELECT a.date, a.ordersourceid, a.itemid, b.sku FROM ap_autopublish_ebay_queue a LEFT JOIN ap_autopublish_ebay_allsku b ON a.ordersourceid = b.ordersourceid AND a.StrategyId = b.StrategyId AND a.customerid = b.customerid AND a.MarketId = b.marketid AND a.UniqueId = b.UniqueId WHERE a.customerid = 1 AND a.marketid = 2 AND a.status = 'success' AND b.sku IS NOT NULL AND a.strategyid IN (48415, 48416, 48418, 48419, 48420, 48421, 48422, 48423)