1.问题分析
慢sql ,缺少索引,每天822次
2.解决方案: 在晚上业务使用量少的时候创建
索引优化建议:
- 建议在数据表 irobotbox_amazonphoenix.Apx_BasicPlan_LogDetail 的 OrderSourceId,PlanType,CustomerId,SaleStartDate,CreationTime 列上添加如下索引,以提高查询性能:
ALTER TABLE `irobotbox_amazonphoenix`.`Apx_BasicPlan_LogDetail` ADD INDEX `idx_OrderSourceId_PlanType_CustomerId_SaleStartDate_CreationTime` (`OrderSourceId`, `PlanType`, `CustomerId`, `SaleStartDate`, `CreationTime`)
注意:在业务高峰期,变更表结构存在风险,请谨慎操作!
3.SQL
SELECT COUNT(DISTINCT CASE WHEN `IsFba` = 1 AND `Status` = 5 THEN `OrderSourceSku` ELSE NULL END) AS `FbaListingCount`, COUNT(DISTINCT CASE WHEN NOT `IsFba` = 1 AND `Status` = 5 THEN `OrderSourceSku` ELSE NULL END) AS `ListingCount`, `OrderSourceId` AS `OrderSourceId`, `PlanType` AS `PlanType` FROM `Apx_BasicPlan_LogDetail` WHERE `CustomerId` = 1 AND `PlanType` = 3 AND `OrderSourceId` = 14567 AND `CreationTime` < '2022-10-10 00:00:00' AND `SaleEndDate` >= '2022-10-09 00:00:00' AND `SaleStartDate` <= '2022-10-09 00:00:00'