任务描述


1.问题描述

  渠道产品销量报表V2 日表、月报、年表默认查询慢

 


2. 问题分析及解决方案: 

select count() 查询很快,原因是查询了不必要的字段,去掉其他字段,保留第1个字段B.ImageUrl

优化后查询由60秒减少到8秒查询出结果


SELECT Count(1)
FROM   (SELECT 
                                          B.ImageUrl
                                           --D.OrderSourceName,
                                           --A.SKU
                                           --B.ClientSKU,
                                           --B.ProductGroupSKU,A.OrderSourceSKU,
                                           --Sum(A.SalesNum)                                                               SalesNum,
                                           --Sum(A.OrderNum)                                                               OrderNum,                                         
                                           --C.WareHouseType,
                                           --B.ProductNameCN,
                                           --Cast(A.SalesYear AS varchar) + RIGHT('00' + Cast(A.SalesMonth AS varchar), 2) DateFormat
        FROM   RB_Report_OrderSourceSKUMonth A WITH(NOLOCK)
               LEFT JOIN RB_Product B WITH(NOLOCK)
                      ON A.CustomerID = B.CustomerID
                         AND A.SKU = B.SKU
               LEFT JOIN RB_WareHouse C WITH ( NOLOCK )
                      ON C.ID = A.WareHouseID
                         AND C.CustomerID = A.CustomerID
               LEFT JOIN RB_OrderSource AS D WITH ( NOLOCK )
                      ON A.OrderSourceID = D.ID
                         AND A.CustomerID = D.CustomerID
        WHERE  A.CustomerID = 1
               AND A.SalesYear >= 2022
               AND A.SalesYear <= 2022
               AND A.SalesMonth >= 2
               AND A.SalesMonth <= 2
        GROUP  BY B.ImageUrl,
                  D.OrderSourceName,
                  B.ProductGroupSKU,
                  A.SKU,
                  B.ClientSKU,
                  A.OrderSourceSKU,
                  C.WareHouseType,
                  B.ProductNameCN,
                  A.SalesYear,
                  A.SalesMonth,
                  A.OrderSourceSKU) AS PagerTable

 --410114
 --60-->8 秒


3.慢sql

SELECT Count(1)
FROM   (SELECT 
                                          B.ImageUrl
                                           D.OrderSourceName,
                                           A.SKU
                                           B.ClientSKU,
                                           B.ProductGroupSKU,A.OrderSourceSKU,
                                           Sum(A.SalesNum)                                                               SalesNum,
                                           Sum(A.OrderNum)                                                               OrderNum,                                         
                                           C.WareHouseType,
                                           B.ProductNameCN,
                                           Cast(A.SalesYear AS varchar) + RIGHT('00' + Cast(A.SalesMonth AS varchar), 2) DateFormat
        FROM   RB_Report_OrderSourceSKUMonth A WITH(NOLOCK)
               LEFT JOIN RB_Product B WITH(NOLOCK)
                      ON A.CustomerID = B.CustomerID
                         AND A.SKU = B.SKU
               LEFT JOIN RB_WareHouse C WITH ( NOLOCK )
                      ON C.ID = A.WareHouseID
                         AND C.CustomerID = A.CustomerID
               LEFT JOIN RB_OrderSource AS D WITH ( NOLOCK )
                      ON A.OrderSourceID = D.ID
                         AND A.CustomerID = D.CustomerID
        WHERE  A.CustomerID = 1
               AND A.SalesYear >= 2022
               AND A.SalesYear <= 2022
               AND A.SalesMonth >= 2
               AND A.SalesMonth <= 2
        GROUP  BY B.ImageUrl,
                  D.OrderSourceName,
                  B.ProductGroupSKU,
                  A.SKU,
                  B.ClientSKU,
                  A.OrderSourceSKU,
                  C.WareHouseType,
                  B.ProductNameCN,
                  A.SalesYear,
                  A.SalesMonth,
                  A.OrderSourceSKU) AS PagerTable

历史记录  
  1. 2022-04-28 14:12:01, 由 陈少军 创建。
  2. 2022-04-28 14:13:42, 由 陈少军 指派给 许瑞丰。
    修改了 指派给 ,旧值为 "chenshaojun",新值为 "xuruifeng"。
    修改了 预计剩余,旧值为 "0",新值为 "1"。

    参考解决方案修改



  3. 2022-04-29 10:16:50, 由 许瑞丰 完成。
    修改了 总计消耗,旧值为 "0",新值为 "10"。
    修改了 指派给 ,旧值为 "xuruifeng",新值为 "chenshaojun"。
    修改了 实际完成,旧值为 "",新值为 "2022-04-29 10:15:36"。
    修改了 任务状态,旧值为 "wait",新值为 "done"。
    修改了 实际开始,旧值为 "0000-00-00 00:00:00",新值为 "2022-04-29 10:16:50"。
    修改了 预计剩余,旧值为 "1",新值为 "0"。
    修改了 由谁完成,旧值为 "",新值为 "xuruifeng"。

    28907  渠道产品销量报表V2日报表点击搜索一直正在加载然后超时


    已经在上上个星期已经线上BUG优化上线了 ,包括日,月、年报表

  4. 2022-07-16 17:09:17, 由 zhengqiao 关闭。
    修改了 任务状态,旧值为 "done",新值为 "closed"。
    修改了 指派给 ,旧值为 "chenshaojun",新值为 "closed"。
    修改了 由谁关闭,旧值为 "",新值为 "zhengqiao"。
    修改了 关闭时间,旧值为 "0000-00-00 00:00:00",新值为 "2022-07-16 17:09:17"。
    修改了 关闭原因,旧值为 "",新值为 "done"。
所属迭代 系统管理部 - 系统服务优化
所属模块 /
相关需求 暂无
指派给 Closed 于 2022-07-16 17:09:17
任务类型 后端
任务标签 初始
开发组
任务状态 已关闭
进度 100%
优先级 P2
关键词
抄送给 刘灿 黄金龙 许瑞丰
由谁创建 陈少军 于 2022-04-28 14:12:01
由谁完成 许瑞丰 于 2022-04-29 10:15:36
由谁取消 暂无
由谁关闭 zhengqiao 于 2022-07-16 17:09:17
关闭原因 已完成
最后编辑 zhengqiao 于 2022-07-16 17:09:17
团队 最初预计 总计消耗 预计剩余
工时信息
最初预计 0工时
总计消耗 10工时
预计剩余 0工时
预计开始 2022-04-28
实际开始 2022-04-29
截止日期 2022-05-05