重现步骤

[步骤]

监控发现查询产品 慢 ,消耗资源多

select top 5000 * from RB_Product_Log with (nolock)  where  ID > 300503827 and AddTime < '3/15/2022 10:04:40 AM' order by ID ASC


SELECT Top 500 pil.ID,pil.SKU
                                    FROM   RB_Product  pil (nolock)
                                    WHERE  pil.CustomerID = @CustomerID AND ID>@MaxId   AND  ISNULL(pil.HolidayID,'')=''   AND  pil.ProductType IN (SELECT CONVERT(INT, item) FROM Charsplitforin(@ProductTypes, ','))   AND  pil.OnlineStatus IN (SELECT CONVERT(INT, item) FROM Charsplitforin(@OnlineStatus, ','))   AND  pil.ProductProperty IN(SELECT CONVERT(INT, item) FROM Charsplitforin(@ProductProperty, ','))  AND  pil.BrandLevel IN( SELECT CONVERT(INT, item) FROM Charsplitforin(@BrandLevels, ',') )  Order by pil.ID asc




[结果]


[期望]

提升性能降低 消耗


历史记录  
  1. 2022-04-14 13:56:40, 由 袁慧斌 创建。
  2. 2022-04-14 13:58:32, 由 袁慧斌 编辑。
    修改了 Bug标题 ,区别为:
    001- 性能优化-web api 查询产品较慢 消耗性能大
    001+ 性能优化-查询产品较慢 消耗性能大
    001- 性能优化-web api 查询产品较慢 消耗性能大
    001+ 性能优化-查询产品较慢 消耗性能大
    修改了 重现步骤,区别为:
    001- [步骤]监控发现webapi 查询产品 慢 ,消耗资源多
    001+ [步骤]监控发现查询产品 慢 ,消耗资源多
    004- SELECT Top 500 pil.ID,pil.SKU FROM RB_Product pil (nolock) WHERE pil.CustomerID = @CustomerID AND ID&gt;@MaxId AND ISNULL(pil.HolidayID,'')='' AND pil.ProductType IN (SELECT CONVERT(INT, item) FROM Charsplitforin(@ProductTypes, ',')) AND pil.OnlineStatus IN (SELECT CONVERT(INT, item) FROM Charsplitforin(@OnlineStatus, ',')) AND pil.ProductProperty IN(SELECT CONVERT(INT, item) FROM Charsplitforin(@ProductProperty, ',')) AND pil.BrandLevel IN( SELECT CONVERT(INT, item) FROM Charsplitforin(@BrandLevels, ',') ) Order by pil.ID asc
    004+ SELECT Top 500 pil.ID,pil.SKU FROM RB_Product pil (nolock) WHERE pil.CustomerID = @CustomerID AND ID&gt;@MaxId AND ISNULL(pil.HolidayID,'')='' AND pil.ProductType IN (SELECT CONVERT(INT, item) FROM Charsplitforin(@ProductTypes, ',')) AND pil.OnlineStatus IN (SELECT CONVERT(INT, item) FROM Charsplitforin(@OnlineStatus, ',')) AND pil.ProductProperty IN(SELECT CONVERT(INT, item) FROM Charsplitforin(@ProductProperty, ',')) AND pil.BrandLevel IN( SELECT CONVERT(INT, item) FROM Charsplitforin(@BrandLevels, ',') ) Order by pil.ID asc
    005-
    005+
    006-
    006+
    008-
    008+
    009- [结果]
    009+
    010- [期望]提升性能降低 消耗
    010+
    011-
    011+ [结果]
    012+ [期望]提升性能降低 消耗
    013+
    001- <p>[步骤]监控发现webapi 查询产品 慢 ,消耗资源多</p>
    001+ <p>[步骤]监控发现查询产品 慢 ,消耗资源多</p>
    004- <p>SELECT Top 500 pil.ID,pil.SKU<br /> FROM RB_Product pil (nolock)<br /> WHERE pil.CustomerID = @CustomerID AND ID&gt;@MaxId AND ISNULL(pil.HolidayID,'')='' AND pil.ProductType IN (SELECT CONVERT(INT, item) FROM Charsplitforin(@ProductTypes, ',')) AND pil.OnlineStatus IN (SELECT CONVERT(INT, item) FROM Charsplitforin(@OnlineStatus, ',')) AND pil.ProductProperty IN(SELECT CONVERT(INT, item) FROM Charsplitforin(@ProductProperty, ',')) AND pil.BrandLevel IN( SELECT CONVERT(INT, item) FROM Charsplitforin(@BrandLevels, ',') ) Order by pil.ID asc<br /></p>
    004+ <p>SELECT Top 500 pil.ID,pil.SKU<br /> FROM RB_Product pil (nolock)<br /> WHERE pil.CustomerID = @CustomerID AND ID&gt;@MaxId AND ISNULL(pil.HolidayID,'')='' AND pil.ProductType IN (SELECT CONVERT(INT, item) FROM Charsplitforin(@ProductTypes, ',')) AND pil.OnlineStatus IN (SELECT CONVERT(INT, item) FROM Charsplitforin(@OnlineStatus, ',')) AND pil.ProductProperty IN(SELECT CONVERT(INT, item) FROM Charsplitforin(@ProductProperty, ',')) AND pil.BrandLevel IN( SELECT CONVERT(INT, item) FROM Charsplitforin(@BrandLevels, ',') ) Order by pil.ID asc</p>
    005- <p></p>
    005+ <p><br /></p>
    006- <p><img src="{194919.png}" alt="" /></p>
    006+ <p><img src="{194922.png}" alt="" /></p>
    008- <p><img src="{194921.png}" alt="" /></p>
    008+ <p><img src="{194919.png}" alt="" /></p>
    009- <p>[结果]</p>
    009+ <p><br /></p>
    010- <br /><p>[期望]提升性能降低 消耗</p>
    010+ <p><img src="{194921.png}" alt="" /></p>
    011- <br />
    011+ <p>[结果]</p>
    012+ <br /><p>[期望]提升性能降低 消耗</p>
    013+ <br />
  3. 2022-04-14 17:34:51, 由 胡晓龙 指派给 陈少军。
    修改了 指派给,旧值为 "huxiaolong",新值为 "chenshaojun"。
    少军,来活了
  4. 2022-04-15 16:04:11, 由 胡晓龙 编辑。
    修改了 影响环境,旧值为 "569",新值为 "577"。
  5. 2022-04-21 15:37:48, 由 陈少军 指派给 胡晓龙。
    修改了 指派给,旧值为 "chenshaojun",新值为 "huxiaolong"。

    第1个select top 5000 * from RB_Product_Log with (nolock)  where  ID > 300503827 and AddTime < '3/15/2022 10:04:40 AM' order by ID ASC  这第1个是冷热日志的,测试查询很快;执行并发多同步数据;已从获取1万条改为5000条了


    第2个sql ,参数不全,我没法测试啊,下次发最好把参数也一起带上,或转给对应的开发先看看先把参数补全

  6. 2022-04-25 20:55:41, 由 胡晓龙 编辑。
    修改了 所属模块,旧值为 "1644",新值为 "1698"。
  7. 2022-04-25 20:55:53, 由 胡晓龙 指派给 罗友军。
    修改了 指派给,旧值为 "huxiaolong",新值为 "luoyoujun"。
  8. 2022-04-26 08:24:59, 由 罗友军 指派给 何建宝。
    修改了 指派给,旧值为 "luoyoujun",新值为 "hejianbao"。
  9. 2022-04-27 14:06:01, 由 何建宝 指派给 胡晓龙。
    修改了 指派给,旧值为 "hejianbao",新值为 "huxiaolong"。

    这个代码是本地仓清库策略的方法,找下仓储那边看下

  10. 2022-05-03 09:14:10, 由 胡晓龙 指派给 罗友军。
    修改了 指派给,旧值为 "huxiaolong",新值为 "luoyoujun"。
    友军,看下是清库的吗
  11. 2022-05-03 09:17:05, 由 罗友军 指派给 魏鹏军。
    修改了 指派给,旧值为 "luoyoujun",新值为 "weipengjun"。
  12. 2022-05-05 17:34:34, 由 魏鹏军 添加备注。

    第二个sql如下:已将参数补全,少军,帮忙看看如何优化

    SELECT Top 500 pil.ID,pil.SKU
                                        FROM   RB_Product  pil (nolock)
                                        WHERE  pil.CustomerID = 1 AND ID>1448919  
                                         AND  ISNULL(pil.HolidayID,'')=''   
                                         AND  pil.ProductType IN (SELECT CONVERT(INT, item) FROM Charsplitforin('0', ','))   
                                         AND  pil.OnlineStatus IN (SELECT CONVERT(INT, item) FROM Charsplitforin('1', ','))  
                                          AND  pil.ProductProperty IN(SELECT CONVERT(INT, item) FROM Charsplitforin('1', ','))  AND (
                                                pil.BrandLevel IN (SELECT CONVERT(INT, item) FROM Charsplitforin('0,1', ','))
                                             OR  
                                                ISNULL(pil.BrandLevel,'')='' 
                                            ) Order by pil.ID asc

  13. 2022-05-05 17:34:42, 由 魏鹏军 指派给 陈少军。
    修改了 指派给,旧值为 "weipengjun",新值为 "chenshaojun"。
  14. 2022-05-12 10:20:35, 由 陈少军 解决,方案为 性能问题 。
    修改了 解决方案,旧值为 "",新值为 "performance"。
    修改了 解决版本,旧值为 "",新值为 "569"。
    修改了 解决日期,旧值为 "",新值为 "2022-05-12 10:16:13"。
    修改了 指派给 ,旧值为 "chenshaojun",新值为 "weipengjun"。
    修改了 Bug状态 ,旧值为 "active",新值为 "resolved"。
    修改了 是否确认,旧值为 "0",新值为 "1"。
    修改了 解决者 ,旧值为 "",新值为 "chenshaojun"。

    1. 第二个sql 问题分析

       目前这个sql执行是7秒,参数传入的是1个,


    2.解决方案建议

      分析一下业务,若In 传入的参数超过30过改用表值参数或临时表查询速度会提高

     目前7秒查询看看时间是否够用

  15. 2022-05-12 10:21:10, 由 陈少军 指派给 魏鹏军。
    修改了 抄送给,旧值为 "",新值为 ",luoyoujun"。


    参考解决方案 建议修改

  16. 2022-06-28 17:20:04, 由 罗友军 指派给 冯名明。
    修改了 指派给,旧值为 "weipengjun",新值为 "fengmingming"。
  17. 2022-06-29 18:04:26, 由 冯名明 指派给 陈少军。
    修改了 指派给,旧值为 "fengmingming",新值为 "chenshaojun"。

    1.该功能已优化,关联bugID:26658

  18. 2022-07-16 15:02:58, 由 陈少军 指派给 胡晓龙。
    修改了 指派给,旧值为 "chenshaojun",新值为 "huxiaolong"。
    修改了 抄送给,旧值为 ",luoyoujun",新值为 ""。
    测试跟进一下
  19. 2022-07-17 21:42:04, 由 胡晓龙 指派给 袁慧斌。
    修改了 指派给,旧值为 "huxiaolong",新值为 "yuanhuibin"。
  20. 2022-09-21 13:46:06, 由 袁慧斌 关闭。
    修改了 Bug状态 ,旧值为 "resolved",新值为 "closed"。
    修改了 指派给 ,旧值为 "yuanhuibin",新值为 "closed"。
    修改了 由谁关闭,旧值为 "",新值为 "yuanhuibin"。
    修改了 关闭日期,旧值为 "",新值为 "2022-09-21 13:46:06"。
    已未发现
  21. 2023-11-17 09:53:57, 由 刘超 编辑。
    修改了 所属模块,旧值为 "0",新值为 "1863"。
所属项目 技术中心-需求池
所属模块 系统运维   性能优化
所属计划
所属迭代
Bug类型
严重程度 提示
优先级 P0
Bug状态 已关闭
业务部门
影响功能
开发责任人
测试责任人
解决时效 0
激活次数 0
激活日期
是否确认 是
当前指派 Closed 于 2022-09-21 13:46:06
截止日期 0000-00-00
上线时间
上线时效
操作系统
浏览器
关键词
抄送给
所属迭代
相关需求
相关任务
由谁创建 袁慧斌 于 2022-04-14 13:56:40
影响环境 577
由谁解决 陈少军 于 2022-05-12 10:16:13
解决版本 569
解决方案 性能问题
由谁关闭 袁慧斌 于 2022-09-21 13:46:06
最后修改 刘超 于 2023-11-17 09:53:48
相关Bug