任务描述

1.问题分析

   慢sql top 10,缺少索引,执行需要15分钟

2.解决方案: 在晚上业务使用量少的时候创建 
 

索引优化建议:
  1. 建议在数据表 irobotbox_marketpublish.pp_phoenixplan_ebay_queue 的 StrategyType,Status,CustomerId,MarketId 列上添加如下索引,以提高查询性能:
    ALTER TABLE `irobotbox_marketpublish`.`pp_phoenixplan_ebay_queue` ADD INDEX `idx_StrategyType_Status_CustomerId_MarketId` (`StrategyType`, `Status`, `CustomerId`, `MarketId`)

注意:在业务高峰期,变更表结构存在风险,请谨慎操作!


3.SQL


SELECT DATE_FORMAT(date_add(a.LastModificationTime, INTERVAL 8 HOUR), '%Y-%m-%d') AS 日期, a.OrderSourceId, COUNT(CASE WHEN a.STATUS = 'success' THEN a.Id ELSE NULL END) AS '上架成功数量', NULL AS 下架成功数量
FROM ap_autopublish_ebay_queue a
WHERE a.CustomerId = 1
	AND date_add(a.LastModificationTime, INTERVAL 8 HOUR) >= DATE_ADD(CURDATE(), INTERVAL -1 DAY)
	AND date_add(a.LastModificationTime, INTERVAL 8 HOUR) < CURDATE()
GROUP BY a.OrderSourceId, DATE_FORMAT(date_add(a.LastModificationTime, INTERVAL 8 HOUR), '%Y-%m-%d')
UNION ALL
SELECT a.`日期`, a.ordersourceid, NULL AS 上架成功数量, COUNT(a.CustomerId) AS 下架成功数量
FROM (SELECT DATE_FORMAT(date_add(LastModificationTime, INTERVAL 8 HOUR), '%Y-%m-%d') AS 日期, CustomerId, MarketId, aa.OrderSourceId, StrategyType
		, `Status`, FailureReason
	FROM pp_phoenixplan_ebay_queue aa
	WHERE aa.CustomerId = 1
		AND aa.MarketId = 2
		AND date_add(aa.LastModificationTime, INTERVAL 8 HOUR) >= DATE_ADD(CURDATE(), INTERVAL -1 DAY)
		AND date_add(aa.LastModificationTime, INTERVAL 8 HOUR) < CURDATE()
		AND aa.StrategyType = 3
		AND aa.`Status` = 'success'
	) a
GROUP BY a.`日期`, a.ordersourceid
UNION ALL
SELECT a.`日期`, a.ordersourceid, NULL AS 上架成功数量, COUNT(a.customerid) AS 下架成功数量
FROM (SELECT DATE_FORMAT(date_add(aa.LastModificationTime, INTERVAL 8 HOUR), '%Y-%m-%d') AS 日期, CustomerId, MarketId, aa.OrderSourceId, aa.RePublishSellerSku
		, StrategyType, `Status`, FailureReason
	FROM pp_phoenixplan_ebay_queue aa
	WHERE aa.CustomerId = 1
		AND aa.MarketId = 2
		AND date_add(aa.LastModificationTime, INTERVAL 8 HOUR) >= DATE_ADD(CURDATE(), INTERVAL -1 DAY)
		AND date_add(aa.LastModificationTime, INTERVAL 8 HOUR) < CURDATE()
		AND aa.StrategyType = 2
		AND aa.`Status` = 'success'
	) a
GROUP BY a.`日期`, a.ordersourceid





历史记录  
  1. 2022-10-18 10:24:39, 由 陈少军 创建。
  2. 2022-10-19 10:37:18, 由 韦思成 指派给 胡笑锋。
    修改了 指派给 ,旧值为 "weisicheng",新值为 "huxiaofeng"。
    修改了 预计剩余,旧值为 "0",新值为 "1"。
    笑锋帮看一下 EBAY表是否可以这样加索引
  3. 2022-10-19 18:29:45, 由 陈少军 编辑。
    修改了 任务描述,区别为:
    001- 1.问题分析 慢sql top 10,缺少大量索引,执行需要15分钟2.解决方案: 在晚上业务使用量少的时候创建
    001+ 1.问题分析 慢sql top 10,缺少索引,执行需要15分钟2.解决方案: 在晚上业务使用量少的时候创建
    008- 3.SQL
    008+ 3.SQL
    009- SELECT DATE_FORMAT(date_add(a.LastModificationTime, INTERVAL 8 HOUR), '%Y-%m-%d') AS 日期, a.OrderSourceId, COUNT(CASE WHEN a.STATUS = 'success' THEN a.Id ELSE NULL END) AS '上架成功数量', NULL AS 下架成功数量
    009+ SELECT DATE_FORMAT(date_add(a.LastModificationTime, INTERVAL 8 HOUR), '%Y-%m-%d') AS 日期, a.OrderSourceId, COUNT(CASE WHEN a.STATUS = 'success' THEN a.Id ELSE NULL END) AS '上架成功数量', NULL AS 下架成功数量
    041-
    041+
    043-
    043+
    044-
    044+
    045-
    001- <p>1.问题分析<br /><br /> 慢sql top 10,缺少大量索引,执行需要15分钟<br /><br />2.解决方案: 在晚上业务使用量少的时候创建<br /></p>
    001+ <p>1.问题分析<br /><br /> 慢sql top 10,缺少索引,执行需要15分钟<br /><br />2.解决方案: 在晚上业务使用量少的时候创建<br /></p>
    008- 3.SQL<br /><p>
    008+ 3.SQL<br /><p><br /></p>
    009- </p><pre class="ng-binding">SELECT DATE_FORMAT(date_add(a.LastModificationTime, INTERVAL 8 HOUR), '%Y-%m-%d') AS 日期, a.OrderSourceId, COUNT(CASE WHEN a.STATUS = 'success' THEN a.Id ELSE NULL END) AS '上架成功数量', NULL AS 下架成功数量
    009+ <pre class="ng-binding">SELECT DATE_FORMAT(date_add(a.LastModificationTime, INTERVAL 8 HOUR), '%Y-%m-%d') AS 日期, a.OrderSourceId, COUNT(CASE WHEN a.STATUS = 'success' THEN a.Id ELSE NULL END) AS '上架成功数量', NULL AS 下架成功数量
    041-
    041+ <p><br /></p>
    043- <p><br /></p>
    043+ <div class="sql_tuning_advice_title-3b3aBp" style="margin:10px 0px 5px;padding:0px;color:#FF8833;font-family:HuaweiFont, Helvetica, Arial, 'PingFangSC-Regular';"><br /></div>
    044- <div class="sql_tuning_advice_title-3b3aBp" style="margin:10px 0px 5px;padding:0px;color:#FF8833;font-family:HuaweiFont, Helvetica, Arial, 'PingFangSC-Regular';"><br /></div>
    044+ <p><br /></p>
    045- <p><br /></p>
  4. 2022-10-22 14:13:43, 由 胡笑锋 完成。
    修改了 总计消耗,旧值为 "0",新值为 "2"。
    修改了 指派给 ,旧值为 "huxiaofeng",新值为 "chenshaojun"。
    修改了 实际完成,旧值为 "",新值为 "2022-10-22 14:13:27"。
    修改了 任务状态,旧值为 "wait",新值为 "done"。
    修改了 实际开始,旧值为 "0000-00-00 00:00:00",新值为 "2022-10-22 14:13:43"。
    修改了 预计剩余,旧值为 "1",新值为 "0"。
    修改了 由谁完成,旧值为 "",新值为 "huxiaofeng"。
  5. 2023-10-31 14:53:14, 由 周杰 关闭。
    修改了 任务状态,旧值为 "done",新值为 "closed"。
    修改了 指派给 ,旧值为 "chenshaojun",新值为 "closed"。
    修改了 由谁关闭,旧值为 "",新值为 "zhoujie"。
    修改了 关闭时间,旧值为 "0000-00-00 00:00:00",新值为 "2023-10-31 14:53:14"。
    修改了 关闭原因,旧值为 "",新值为 "done"。
所属迭代 系统管理部 - 系统服务优化
所属模块 /
相关需求 暂无
指派给 Closed 于 2023-10-31 14:53:14
任务类型 后端
任务标签 初始
开发组 有品开发组
任务状态 已关闭
进度 100%
优先级 P2
关键词
抄送给 韦思成
由谁创建 陈少军 于 2022-10-18 10:24:38
由谁完成 胡笑锋 于 2022-10-22 14:13:27
由谁取消 暂无
由谁关闭 周杰 于 2023-10-31 14:53:14
关闭原因 已完成
最后编辑 周杰 于 2023-10-31 14:53:14
团队 最初预计 总计消耗 预计剩余
工时信息
最初预计 0工时
总计消耗 2工时
预计剩余 0工时
预计开始 2022-10-18
实际开始 2022-10-22
截止日期 2022-10-18