重现步骤

UPDATE  QE
            SET QE.LockGuid = '8e4031b4906a425ab883e30fbfff890a', QE.QueueState = 1, QE.ExecTime = getdate()
            FROM RB_Ebay_Listing_Queue_V2 QE
            WHERE QE.QueueID IN (
            select top (50) Q.QueueID
            FROM RB_Ebay_Listing_Queue_V2 Q WITH (NOLOCK)
            INNER JOIN RB_Ebay_Listing_Basic_V2 B WITH (NOLOCK)
            ON B.CustomerID = Q.CustomerID
            AND B.ListingBasicID = Q.ListingBasicID
            AND B.OrderSourceID = Q.OrderSourceID
            AND B.SiteCode = Q.SiteCode
            LEFT JOIN RB_Ebay_Listing_Product_V2 P WITH (NOLOCK)
            ON Q.ListingBasicID = P.ListingBasicID
            AND Q.CustomerID = P.CustomerID
            AND P.OrderSourceID = Q.OrderSourceID
            AND Q.SiteCode = P.SiteCode
            AND P.IsVariation = 0
            LEFT JOIN RB_OrderSource OS WITH (NOLOCK)
            ON OS.ID = Q.OrderSourceID
            AND OS.CustomerID = Q.CustomerID


建议增大调用间隔时间。



附件
历史记录  
  1. 2022-04-21 17:46:57, 由 吴高发 创建。
  2. 2022-04-21 18:40:43, 由 胡晓龙 编辑。
    修改了 所属模块,旧值为 "1644",新值为 "1698"。
    修改了 指派给 ,旧值为 "huxiaolong",新值为 "luoyoujun"。
    修改了 影响环境,旧值为 "569,",新值为 "577"。
  3. 2022-04-21 18:43:24, 由 罗友军 指派给 陈少军。
    修改了 指派给,旧值为 "luoyoujun",新值为 "chenshaojun"。
  4. 2022-05-16 15:01:36, 由 陈少军 解决,方案为 性能问题 。
    修改了 解决方案,旧值为 "",新值为 "performance"。
    修改了 解决版本,旧值为 "",新值为 "569"。
    修改了 解决日期,旧值为 "",新值为 "2022-05-16 14:57:10"。
    修改了 指派给 ,旧值为 "chenshaojun",新值为 "luoyoujun"。
    修改了 Bug状态 ,旧值为 "active",新值为 "resolved"。
    修改了 是否确认,旧值为 "0",新值为 "1"。
    修改了 解决者 ,旧值为 "",新值为 "chenshaojun"。

    1.问题分析,

    批量更新50条记录;死锁应该是并发产生的,


    查询下面的语句很快,1秒内查询出结果


    2. 解决方案:

        提高数据库性能的情况下,可以根据情况减少批量更新的量


    select QE.LockGuid, QE.QueueState, QE.ExecTime 
                FROM RB_Ebay_Listing_Queue_V2 QE
                WHERE QE.QueueID IN 
    (
                select top (50) Q.QueueID
                FROM RB_Ebay_Listing_Queue_V2 Q WITH (NOLOCK)
                INNER JOIN RB_Ebay_Listing_Basic_V2 B WITH (NOLOCK)
                ON B.CustomerID = Q.CustomerID
                AND B.ListingBasicID = Q.ListingBasicID
                AND B.OrderSourceID = Q.OrderSourceID
                AND B.SiteCode = Q.SiteCode
                LEFT JOIN RB_Ebay_Listing_Product_V2 P WITH (NOLOCK)
                ON Q.ListingBasicID = P.ListingBasicID
                AND Q.CustomerID = P.CustomerID
                AND P.OrderSourceID = Q.OrderSourceID
                AND Q.SiteCode = P.SiteCode
                AND P.IsVariation = 0
                LEFT JOIN RB_OrderSource OS WITH (NOLOCK)
                ON OS.ID = Q.OrderSourceID
                AND OS.CustomerID = Q.CustomerID)

  5. 2022-05-16 15:01:53, 由 陈少军 指派给 罗友军。
    参考解决方案 修改
  6. 2022-05-20 14:16:57, 由 罗友军 指派给 温林生。
    修改了 指派给,旧值为 "luoyoujun",新值为 "wenlinsheng"。
  7. 2022-05-21 17:53:26, 由 温林生 指派给 陈少军。
    修改了 指派给,旧值为 "wenlinsheng",新值为 "chenshaojun"。

    修改后的SQL执行计划图如下:

  8. 2022-05-24 20:18:22, 由 李乐同 指派给 吴高发。
    修改了 指派给,旧值为 "chenshaojun",新值为 "wugaofa"。
    2022/5/24晚上更新,线上监控
  9. 2022-05-26 15:27:34, 由 陈少军 指派给 李乐同。
    修改了 指派给,旧值为 "wugaofa",新值为 "liletong"。


    查看了日志,这个死锁问题还是存在


    这个是ebylisting同步的服务并行运行了128个服务造成的并发 死锁,接下来要解决这个死锁问题

  10. 2022-05-26 15:31:27, 由 李乐同 关闭。
    修改了 Bug状态 ,旧值为 "resolved",新值为 "closed"。
    修改了 指派给 ,旧值为 "liletong",新值为 "closed"。
    修改了 由谁关闭,旧值为 "",新值为 "liletong"。
    修改了 关闭日期,旧值为 "",新值为 "2022-05-26 15:31:27"。
    跟进任务26776
  11. 2023-11-17 09:53:30, 由 刘超 编辑。
    修改了 所属模块,旧值为 "0",新值为 "1863"。
所属项目 技术中心-需求池
所属模块 系统运维   性能优化
所属计划
所属迭代
Bug类型 性能问题
严重程度 提示
优先级 P2
Bug状态 已关闭
业务部门
影响功能
开发责任人
测试责任人
解决时效 0
激活次数 0
激活日期
是否确认 是
当前指派 Closed 于 2022-05-26 15:31:27
截止日期 0000-00-00
上线时间
上线时效
操作系统
浏览器
关键词
抄送给
所属迭代
相关需求
相关任务
由谁创建 吴高发 于 2022-04-21 17:46:57
影响环境 577
由谁解决 陈少军 于 2022-05-16 14:57:10
解决版本 569
解决方案 性能问题
由谁关闭 李乐同 于 2022-05-26 15:31:27
最后修改 刘超 于 2023-11-17 09:53:23
相关Bug