重现步骤

[性能问题描述]导出50分钟都无法完成,阻塞后面系统

select       ROW_NUMBER() over(order by a.SKU) '编号',   a.ProductGroupSKU '母体ID',      a.SKU,      a.OrderSourceSKU '渠道SKU',      a.ClientSKU '自定义SKU',   a.ASINorItemID 'ASIN',      a.SalesNum '销售数量',      a.WareHouseName '仓库名称',      a.GoodNum '库存数量',      convert(varchar(4), a.SalesYear) + '年' + convert(varchar(2), a.SalesMonth) + '月' '时间',      a.OrderNum '订单数',      a.OrderSourceName '订单来源',      a.ProductName '产品名称',      a.ProductNameCN '产品中文名'  from(  select      ROW_NUMBER() over(PARTITION by a.CustomerID,a.OrderSourceID,a.SKU,a.OrderSourceSKU,a.WareHouseID, a.SalesYear, a.SalesMonth order by a.CustomerID,a.OrderSourceID,a.SKU,a.OrderSourceSKU,a.WareHouseID, a.SalesYear, a.SalesMonth) SortNum,      a.ProductGroupSKU,      a.SKU,      a.OrderSourceSKU,      a.ClientSKU,      b.ASINorItemID,      a.SalesNum,      a.WareHouseName,      a.GoodNum,      a.SalesYear,      a.SalesMonth,      a.OrderNum,      a.OrderSourceName,      a.ProductName,      a.ProductNameCN      from dbo.View_RB_Report_OrderSourceSKUMonth a WITH(NOLOCK)  LEFT JOIN dbo.RB_Amazon_Product_Base(NOLOCK) b          ON b.CustomerID = a.CustomerID             AND b.OrderSourceID = a.OrderSourceID             AND b.SKU = a.SKU             AND b.OrderSourceSKU = a.OrderSourceSKU             AND b.IsOffShelf IN(0, 1, 2)             AND b.IsDelete=0             AND b.ASINorItemID != ''  where  (DATEDIFF(MONTH,CAST(a.SalesYear AS NVARCHAR(4)) + '-' + CAST(a.SalesMonth AS NVARCHAR(2))+'-1','2021-4-1')<=0)  AND (DATEDIFF(MONTH,CAST(a.SalesYear AS NVARCHAR(4)) + '-' + CAST(a.SalesMonth AS NVARCHAR(2))+'-1','2022-12-1')>=0)  AND (a.OrderSourceID IN(9948))  AND (a.CustomerID=1)  AND (a.SalesNum>0)  AND (a.OrderSourceID IN (SELECT OrderSourceID FROM RB_OrderSource_SaleAdmin (NOLOCK) WHERE AdminID=5841))   ) a where SortNum = 1

[分析过程]

SQL 执行较慢,无缺失索引,看看能否添加某些业务关键性字段提升效率

[期望结果]提升导出速度,控制在20分钟以内

历史记录  
  1. 2023-06-16 16:41:16, 由 袁慧斌 创建。
  2. 2023-06-16 16:49:10, 由 胡晓龙 指派给 许瑞丰。
    修改了 指派给,旧值为 "huxiaolong",新值为 "xuruifeng"。
  3. 2023-06-19 22:20:51, 由 许瑞丰 指派给 何智军。
    修改了 指派给,旧值为 "xuruifeng",新值为 "hezhijun"。
  4. 2023-06-21 14:06:57, 由 何智军 指派给 林很。
    修改了 指派给,旧值为 "hezhijun",新值为 "linhen"。

    该导出为老版本渠道产品销量月报告,可使用新版,需评估老版报告是否继续维护。

    原因:导出查询使用View_RB_Report_OrderSourceSKUMonth试图,该视图数量2000W+,试图关联表数据量大,难以命中索引。


    优化建议:

    1、现在用户导出时间,该报错用户操作导出一年多数据。

    2、导出查询中试图替换成关联表。

  5. 2023-07-04 14:57:04, 由 林很 转为 需求,编号为 #15352 性能优化-渠道产品销量月报表2023年6月16日 ID 值679482 该类型导出很慢,阻塞导出队列 。
  6. 2023-07-04 14:57:05, 由 林很 关闭。
  7. 2023-11-17 09:34:37, 由 刘超 编辑。
    修改了 所属模块,旧值为 "1748",新值为 "1850"。
  8. 2023-11-17 09:53:52, 由 刘超 编辑。
    修改了 所属模块,旧值为 "1850",新值为 "1863"。
所属项目 技术中心-需求池
所属模块 系统运维   性能优化
所属计划
所属迭代
Bug类型
严重程度 提示
优先级 P2
Bug状态 已关闭
业务部门
影响功能
开发责任人
测试责任人
解决时效 0
激活次数 0
激活日期
是否确认 否
当前指派 Closed 于 2023-07-04 14:57:04
截止日期 0000-00-00
上线时间
上线时效
操作系统
浏览器
关键词
抄送给
所属迭代
相关需求
相关任务
由谁创建 袁慧斌 于 2023-06-16 16:41:16
影响环境 577
由谁解决 林很 于 2023-07-04 14:57:04
解决版本
解决方案 tostory
由谁关闭 林很 于 2023-07-04 14:57:04
最后修改 刘超 于 2023-11-17 09:53:48