重现步骤

[步骤]

http://888.zhcxkj.com/Manager/index.aspx


[结果]


[期望]


历史记录  
  1. 2022-06-10 16:05:41, 由 刘超 创建。
  2. 2022-06-10 16:19:55, 由 程伟 指派给 谢业福。
    修改了 指派给,旧值为 "chengwei",新值为 "xieyefu"。
  3. 2022-06-10 16:46:25, 由 谢业福 添加备注。

    归档查询归档数据库:

    查询语句:

    数量:

    DECLARE @CustomerID INT;
    SET @CustomerID=1;
    DECLARE @IsPay BIT;
    SET @IsPay=1;
    DECLARE @StartTime DATETIME;
    SET @StartTime='2018-02-01 00:00:00';
    DECLARE @EndTime DATETIME;
    SET @EndTime='2018-04-01 23:59:59'
    
    
    SELECT Count(1)
    FROM   RB_OrderInfo oi WITH(nolock)
           LEFT JOIN RB_OrderSource os WITH(nolock)
             ON oi.CustomerID = os.CustomerID
                AND oi.OrderSourceID = os.ID
           LEFT JOIN E_Country e WITH(nolock)
             ON oi.Country = e.Shorthand
           LEFT JOIN RB_Transport t WITH(nolock)
             ON oi.CustomerID = t.CustomerID
                AND oi.TransportID = t.ID
           LEFT JOIN RB_Transport_API tapi WITH(nolock)
             ON t.Transport_API_ID = tapi.ID
                AND t.CustomerID = tapi.CustomerID
           LEFT JOIN RB_WareHouse wh WITH(nolock)
             ON oi.CustomerID = wh.CustomerID
                AND oi.WareHouseID = wh.ID
           LEFT JOIN RB_Admin rba WITH(nolock)
             ON rba.CustomerID = os.CustomerID
                AND rba.ID = os.SaleAdminID
           LEFT JOIN RB_BusinessTeam bt WITH(nolock)
             ON bt.CustomerID = os.CustomerID
                AND bt.ID = rba.BusinessTeamID
           LEFT JOIN RB_OrderSource_EbayAmazonAPI api WITH(nolock)
             ON os.CustomerID = api.CustomerID
                AND os.ID = api.OrderSourceID
    WHERE  oi.CustomerID = @CustomerID
           AND oi.IsStockOrder = 0
           AND oi.IsPay = @IsPay
           AND oi.AddTime >= @StartTime
           AND oi.AddTime <= @EndTime
    OPTION(recompile, maxdop 2) 
  4. 2022-06-10 16:48:27, 由 谢业福 添加备注。

    分页:

    DECLARE @CustomerID INT;
    SET @CustomerID=1;
    DECLARE @IsPay BIT;
    SET @IsPay=1;
    DECLARE @StartTime DATETIME;
    SET @StartTime='2018-02-01 00:00:00';
    DECLARE @EndTime DATETIME;
    SET @EndTime='2018-04-01 23:59:59'
    
    SELECT *
    FROM   (SELECT Row_number() OVER (ORDER BY AddTime DESC) AS [PageIndex],
                   *
            FROM   (SELECT oi.ID,
                           oi.OrderCode,
                           oi.ClientOrderCode,
                           oi.MainOrderCode,
                           oi.MergeOrderCode,
                           oi.SalesRecordNumber,
                           oi.OrderSourceID,
                           oi.ClientUserAccount,
                           oi.OrderStatus,
                           oi.OrderState,
                           oi.IsFirstDeliver,
                           ( CASE
                               WHEN oi.IsPriority > 0 THEN oi.IsPriority
                               ELSE Isnull(os.PriorityNum, 0)
                             END )                                                                                   AS IsPriority,
                           oi.PackagedIDs,
                           oi.IsASingleInTheEnd,
                           oi.PayerId,
                           oi.Email,
                           oi.SellerOrderId,
                           oi.IsPay,
                           oi.CommentType,
                           oi.TransactionId,
                           oi.PaymentType,
                           Isnull(oi.RefundPrice, 0)                                                                 AS RefundPrice,
                           Isnull(oi.ThrowingRate, 0)                                                                AS ThrowingRate,
                           oi.TotalPrice,
                           oi.ExchangeRMB,
                           oi.ExchangeUSD,
                           oi.TransportPay,
                           oi.OtherPayPrice,
                           oi.ProductTotalPrice,
                           oi.PromotionDiscountAmount,
                           oi.CouponCode,
                           oi.CouponMinusPrice,
                           oi.DiscountMinusPrice,
                           oi.AddPayPrice,
                           oi.AddOrderReasonType,
                           oi.ShareType,
                           oi.ShareCustomerID,
                           oi.IsAccount,
                           oi.AccountTime,
                           oi.ShareTotalPrice,
                           oi.SynchronousTime,
                           oi.IsSynchronous,
                           oi.IsTogeInvoice,
                           Isnull(oi.Encrypted, 0)                                                                   AS Encrypted,
                           oi.FirstName,
                           oi.LastName,
                           oi.Address,
                           oi.District,
                           oi.CabinetNO,
                           oi.City,
                           oi.Province,
                           oi.Country,
                           oi.PostCode,
                           oi.Telephone,
                           oi.ShippingService,
                           oi.DownLoadUpdateTime,
                           oi.PromotionType,
                           oi.TrackNumberTemp,
                           oi.TrackNumbers,
                           oi.UpdatePlatformTime,
                           oi.MarkDeliveryState,
                           oi.EMPSDeliveryState,
                           oi.LogisticsOrderNo,
                           oi.LogisticsOrderNo1,
                           oi.ShipTime,
                           oi.OrderDescription,
                           oi.ISsynchOverseas,
                           oi.ProductNumber,
                           oi.ProductVolume,
                           oi.ProductWeight,
                           oi.PayTime,
                           oi.AddTime,
                           oi.UpdateTime,
                           oi.LatestShipDate,
                           oi.ServiceAdminName,
                           oi.SKUNumber,
                           oi.LatestDeliveryDate,
                           oi.VipDiscount,
                           Isnull(oi.IsTaxFree, 0)                                                                   IsTaxFree,
                           oi.Currency,
                           os.ServiceAdminName                                                                       AS ServiceOSAdminName,
                           Isnull(oi.IsFBATransit, 0)                                                                IsFBATransit,
                           oi.WareHouseID,
                           wh.WareHouseName,
                           os.OrderSourceName,
                           os.OrderSourceType,
                           os.OrderSourceCountry,
                           e.Country_cn,
                           t.TransportName,
                           t.PMSTransport,
                           tapi.Transport_API_Class,
                           wh.WareHouseType,
                           oi.Token,
                           os.SaleAdminName,
                           os.VATNumber,
                           os.VATRate,
                           oi.SaveTrackNumbersTime,
                           t.TrackingNumberValidDays,
                           Datediff(day, Getdate(), ( Dateadd(day, TrackingNumberValidDays, SaveTrackNumbersTime) )) AS TrackNumbersDiffDay,
                           bt.BusinessTeamName,
                           t.ID                                                                                      AS TransportID,
                           e.ID                                                                                      AS CountryID,
                           api.CertIDAccessKeyId,
                           (SELECT Count(1)
                            FROM   RB_OrderInfo_Attach att(nolock)
                            WHERE  att.CustomerID = oi.CustomerID
                                   AND att.OrderCode = oi.OrderCode)                                                 AS IsAttachMail
                    FROM   RB_OrderInfo oi WITH(nolock)
                           LEFT JOIN RB_OrderSource os WITH(nolock)
                             ON oi.CustomerID = os.CustomerID
                                AND oi.OrderSourceID = os.ID
                           LEFT JOIN E_Country e WITH(nolock)
                             ON oi.Country = e.Shorthand
                           LEFT JOIN RB_Transport t WITH(nolock)
                             ON oi.CustomerID = t.CustomerID
                                AND oi.TransportID = t.ID
                           LEFT JOIN RB_Transport_API tapi WITH(nolock)
                             ON t.Transport_API_ID = tapi.ID
                                AND t.CustomerID = tapi.CustomerID
                           LEFT JOIN RB_WareHouse wh WITH(nolock)
                             ON oi.CustomerID = wh.CustomerID
                                AND oi.WareHouseID = wh.ID
                           LEFT JOIN RB_Admin rba WITH(nolock)
                             ON rba.CustomerID = os.CustomerID
                                AND rba.ID = os.SaleAdminID
                           LEFT JOIN RB_BusinessTeam bt WITH(nolock)
                             ON bt.CustomerID = os.CustomerID
                                AND bt.ID = rba.BusinessTeamID
                           LEFT JOIN RB_OrderSource_EbayAmazonAPI api WITH(nolock)
                             ON os.CustomerID = api.CustomerID
                                AND os.ID = api.OrderSourceID
                    WHERE  oi.CustomerID = @CustomerID
                           AND oi.IsStockOrder = 0
                           AND oi.IsPay = @IsPay
                           AND oi.AddTime >= @StartTime
                           AND oi.AddTime <= @EndTime) AS TempTable) AS PagerTable
    WHERE  PagerTable.[PageIndex] BETWEEN 1 AND 20
    OPTION(recompile, maxdop 2) 
    
  5. 2022-06-10 17:02:07, 由 谢业福 添加备注。
  6. 2022-06-10 17:03:19, 由 谢业福 指派给 陈少军。
    修改了 指派给,旧值为 "xieyefu",新值为 "chenshaojun"。

    数据库是:158归档库

    麻烦看一下是否有优化空间

  7. 2022-06-13 16:40:47, 由 陈少军 解决,方案为 性能问题 。
    修改了 解决方案,旧值为 "",新值为 "performance"。
    修改了 解决版本,旧值为 "",新值为 "569"。
    修改了 解决日期,旧值为 "",新值为 "2022-06-13 16:37:34"。
    修改了 指派给 ,旧值为 "chenshaojun",新值为 "xieyefu"。
    修改了 Bug状态 ,旧值为 "active",新值为 "resolved"。
    修改了 是否确认,旧值为 "0",新值为 "1"。
    修改了 解决者 ,旧值为 "",新值为 "chenshaojun"。

    问题分析:


    1.归档库是刚迁移到华为云的sqlserver数据库,

    第1个count查询,分析执行计划正确使用了索引,1秒查询出结果了


    第2个查询多列的,分析了执行计划,缺少索引,已添加索引,测试很快,1秒出结果 52行数据


    2解决方案:

    归档库查询2个sql优化结果:

    1.count 查询很快;

    2. 多列查询,添加了索引IX_RB_Admin_ID_CustomerID_BusinessTeamID,测试也很快,1秒出结果的,在测试看看

  8. 2022-06-14 09:07:12, 由 谢业福 指派给 刘超。
    修改了 指派给,旧值为 "xieyefu",新值为 "liuchao"。
  9. 2022-06-14 09:45:14, 由 刘超 指派给 谢业福。
    修改了 指派给,旧值为 "liuchao",新值为 "xieyefu"。
  10. 2022-06-14 18:58:36, 由 谢业福 指派给 田子豪。
    修改了 指派给,旧值为 "xieyefu",新值为 "tianzihao"。

    麻烦确认一下

  11. 2022-06-22 19:52:09, 由 田子豪 指派给 刘超。
    修改了 指派给,旧值为 "tianzihao",新值为 "liuchao"。
    修改了 抄送给,旧值为 "",新值为 ",xieyefu"。
    归档数据不然进入编辑页面,可以增加提示,不要直接报小黄鸡
  12. 2022-06-23 11:05:25, 由 刘超 指派给 谢业福。
    修改了 指派给,旧值为 "liuchao",新值为 "xieyefu"。
  13. 2022-06-23 13:42:23, 由 谢业福 添加备注。

    正常订单:

    归档订单:

  14. 2022-06-23 13:57:11, 由 谢业福 指派给 刘超。
    修改了 指派给,旧值为 "xieyefu",新值为 "liuchao"。
    修改了 抄送给,旧值为 ",xieyefu",新值为 ""。

    分支svn提交记录:

  15. 2022-06-23 16:14:23, 由 刘超 添加备注。
    测试环境无归档库,666环境跟进
  16. 2022-06-24 09:03:40, 由 刘超 关闭。
    修改了 Bug状态 ,旧值为 "resolved",新值为 "closed"。
    修改了 指派给 ,旧值为 "liuchao",新值为 "closed"。
    修改了 由谁关闭,旧值为 "",新值为 "liuchao"。
    修改了 关闭日期,旧值为 "",新值为 "2022-06-24 09:03:40"。

所属项目 技术中心-需求池
所属模块 /
所属计划
所属迭代 【智汇】产品部 6月分支 版本(2022年)
Bug类型 第三方原因(外部系统)
严重程度 提示
优先级 P2
Bug状态 已关闭
业务部门
影响功能
开发责任人
测试责任人
解决时效 0
激活次数 0
激活日期
是否确认 是
当前指派 Closed 于 2022-06-24 09:03:40
截止日期 0000-00-00
上线时间
上线时效
操作系统 Windows 10
浏览器 firefox系列
关键词
抄送给
所属迭代 【智汇】产品部 6月分支 版本(2022年)
相关需求
相关任务
由谁创建 刘超 于 2022-06-10 16:05:41
影响环境 610
由谁解决 陈少军 于 2022-06-13 16:37:34
解决版本 569
解决方案 性能问题
由谁关闭 刘超 于 2022-06-24 09:03:40
最后修改 刘超 于 2022-06-24 09:03:40
相关Bug