需求背景:
消耗CPU排名前三的SQL,需要优化,提高处理能力
需求内容:
SELECT `m`.`Id` AS `Id` , `m`.`SiteCode` AS `SiteCode` , `m`.`Sku` AS `Sku` FROM `P_Market_Product` m Inner JOIN `P_Product` p ON (( `m`.`CustomerId` = `p`.`CustomerId` ) AND ( `m`.`Sku` = `p`.`Sku` )) WHERE ((( `m`.`CustomerId` = 1 ) AND ( `m`.`MarketId` = 67 )) AND ( `m`.`CategoryId` IS NULL OR `m`.`CategoryId`='')) ORDER BY `p`.`FinalJudgmentTime` DESC LIMIT 23600,200; 优化:给表P_Market_Product创建一个连接读库的仓储实例, 使用该实例读取数据 预计工时:4小时
SELECTv.*FROM (SELECT `CustomerId` AS `CustomerId`, `CategoryId` AS `CategoryId`, `AttributeId` AS `AttributeId`, MAX (`Id`) AS `Id` FROM `M_Allegro_Attribute_Value` WHERE ....... 优化:给表M_Allegro_Attribute_Value创建一个连接读库的仓储实例, 使用该实例读取数据 预计工时:4小时
SELECT `CustomerId`, `IsGlobal`, `OrderSourceId`, `ProductId`, `Status`, `FailureLog`, `Date`, `Time`, `LastModifierId`, `LastModifier`, `LastModificationTime`, `CreatorId`, `Creator`, `CreationTime`, `Id` FROM `M_ShopeeV2_Listing_ProductId` WHERE ( ( ( ( ((`Id` > 2) AND (`CustomerId` = 1)) AND (`IsGlobal` = 0) ) AND (`OrderSourceId` = 14204) ) AND (`Status` IN (0, 2)) ) AND (`Date` >= 20221110) ) ORDER BY Id ASC LIMIT 0, 50; 优化:给表M_ShopeeV2_Listing_ProductId创建一个连接读库的仓储实例,并且指定索引idx_OrderSourceId_IsGlobal_CustomerId_Date, 使用该实例读取数据 预计工时:4小时
