1.问题分析
目前是华为日志慢sql里的top 2,查询次数多,查询时间慢
in 子查询元素过多,导致的查询慢
2.解决方案
将In 字查询改为临时表inner join 查询会快很多
3.sql
SELECT `Id`,`UniqueId`,`CustomerId`,`MarketId`,`StrategyId`,`OrderSourceId`,`Type`,`ItemId`,`Sku`,`AllSkus`,`ClientSku`,`ParentSku`,`SellerSku`,`SiteCode`,`Price`,`IsAgainPublish`,`Status`,`ErrorCode`,`FailureReason`,`Date`,`Time`,`OperationType`,`Upc`,`PublishType`,`ExternalId`,`TaskStatus`,`LoadQueueTime`,`ParentOrderSourceId`,`BargainingPrice`,`IsManual`,`RuleId`,`LastModifierId`,`LastModifier`,`LastModificationTime`,`CreatorId`,`Creator`,`CreationTime` FROM `Ap_AutoPublish_Allegro_Queue` WHERE (((( `CustomerId` = 1 ) AND ( `MarketId` = 67 )) AND (`Sku` IN ('9920012','9918183','10029336','9912752','9911500','10028384','9907974','11074536','9987284','13040613','13040478','13028743','10075588','9984379','7462627','10072619','4280040','8234101','9836193','13018805','9829075','9800641','10500210','13018657','13244339','9799991','10468266','10162472','13341154','11340564','10453833','11329577','10161275','7199141','13283016','11310371','13265955','7120784','10453401','8796133','10160017','13262975','11307095','7179686','11557875','13262267','11296448','10453144','10452666','13177781','13177763','13177721','7679112','10802123','13168780','10767351','13168740','10755733','11746098','13155146','13154478','11707356','13153829','11694600','10299080','13149819','12303509','12373089','5941442','12239494','12231646','5751059','12238960','13015248','10705947','10728853','10710706','13089813','10709587','8634499','12922776','12317634','12910405','10708531','12901421','12865184','13564835','10707669','12901500','10707096','10703108','9793913','12863141','9789512','10702345','12863108','7414673','10450454','7407793','10344839')) ) AND NOT( `Upc` IS NULL OR `Upc`=''));


这个表数据很多,开发找产品确认是否可以归档2023年前的数据,统计如下:可以归档约35000万
select count(0) from Ap_AutoPublish_Allegro_Queue where Date >20230101 -- 22656892
select count(0) from Ap_AutoPublish_Allegro_Queue -- 5700000