任务描述

1.问题分析

count() 查询,分析发现,不需要left join 查询补齐数据或查询重复的数据


2.解决方案:

去掉left join, 测试从30秒到优化后的2秒查询出结果

关注一下业务:是否需要查询出重复的数据


3.优化后的sql 参考

SELECT Count(0)
FROM   [RB_Amazon_Product_Base] (nolock) vtb
       --LEFT JOIN RB_StockClearDetailed scd (nolock)
       --       ON( vtb.OrderSourceSKUID = scd.ListId
       --           AND vtb.CustomerID = scd.CustomerID
       --           AND ( clearType = 1
       --                  OR clearType = 3 ) )
       --LEFT JOIN RB_StockClearStrategy scs (nolock)
       --       ON( scd.scsID = scs.ID
       --           AND scd.CustomerID = scs.CustomerID )
       --LEFT JOIN (SELECT Sum(GoodNum) AS Inventory,
       --                  WareHouseID,
       --                  SKU,
       --                  CustomerID
       --           FROM   RB_WareHouse_Product (nolock)
       --           GROUP  BY WareHouseID,
       --                     SKU,
       --                     CustomerID) AS tbWHN
       --       ON( vtb.WID = tbWHN.WareHouseID
       --           AND vtb.SKU = tbWHN.SKU
       --           AND vtb.CustomerID = tbWHN.CustomerID )
       --LEFT JOIN RB_WareHouse w (nolock)
       --       ON w.CustomerID = vtb.CustomerID
       --          AND w.ID = vtb.DefaultWarehouseID
       --LEFT JOIN RB_OrderSource o (nolock)
       --       ON vtb.CustomerID = o.CustomerID
       --          AND vtb.OrderSourceID = o.ID
       --LEFT JOIN RB_Product_Admin pa(nolock)
       --       ON vtb.CustomerID = pa.CustomerID
       --          AND vtb.SKU = pa.SKU
       --LEFT JOIN RB_Product p (nolock)
       --       ON p.CustomerID = vtb.CustomerID
       --          AND vtb.SKU = p.SKU
       --LEFT JOIN RB_WareHouse wh(nolock)
       --       ON wh.CustomerID = p.CustomerID
       --          AND wh.ID = p.DefaultLocalWarehouse
       --LEFT JOIN RB_WareHouse swh(nolock)
       --       ON swh.CustomerID = vtb.CustomerID
       --          AND swh.ID = vtb.TheWareHouseID
       --LEFT JOIN RB_Amazon_NotToFbaReason ntf (nolock)
       --       ON vtb.CustomerID = ntf.CustomerID
       --          AND vtb.NotToFbaReasonId = ntf.ID
WHERE  vtb.CustomerID = 1
       AND vtb.IsDelete = 0
       AND IsOffShelf = 0
       AND vtb.OrderSourceSKUID > 0
OPTION(maxdop 6)


同:bug 28923 【Amzon Listing管理】在线页面,点击搜索报错超时,若修改,更新一下这里的状态

历史记录  
  1. 2022-04-28 17:27:40, 由 陈少军 创建。
  2. 2022-04-28 17:28:01, 由 陈少军 指派给 罗友军。
    修改了 预计剩余,旧值为 "0",新值为 "2"。
    参考解决方案修改
  3. 2022-04-28 17:37:43, 由 罗友军 指派给 魏鹏军。
    修改了 指派给,旧值为 "luoyoujun",新值为 "weipengjun"。
  4. 2022-05-10 11:00:23, 由 魏鹏军 完成。
    修改了 总计消耗,旧值为 "0",新值为 "1"。
    修改了 指派给 ,旧值为 "weipengjun",新值为 "chenshaojun"。
    修改了 实际完成,旧值为 "",新值为 "2022-05-10 10:58:43"。
    修改了 任务状态,旧值为 "wait",新值为 "done"。
    修改了 实际开始,旧值为 "0000-00-00 00:00:00",新值为 "2022-05-10 11:00:23"。
    修改了 预计剩余,旧值为 "2",新值为 "0"。
    修改了 由谁完成,旧值为 "",新值为 "weipengjun"。

    无法按照上述解决方案修改,不能将关联listing表其他表去掉查询count,有其他相关查询关联表的查询,

    与少军沟通,只针对查询count不查询所有列

  5. 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 17:27:40
由谁完成 魏鹏军 于 2022-05-10 10:58:43
由谁取消 暂无
由谁关闭 zhengqiao 于 2022-07-16 17:09:17
关闭原因 已完成
最后编辑 zhengqiao 于 2022-07-16 17:09:17
团队 最初预计 总计消耗 预计剩余
工时信息
最初预计 0工时
总计消耗 1工时
预计剩余 0工时
预计开始 2022-04-28
实际开始 2022-05-10
截止日期 2022-05-05