[步骤]

SELECT ol.ID,ol.CustomerID,ol.OrderCode,ol.SKU,ISNULL((SELECT TOP 1 ISNULL(FNSKU,'') FROM dbo.RB_WareHouse_Product (NOLOCK) WHERE CustomerID = ol.CustomerID AND OrderSourceID = oi.OrderSourceID AND OrderSourceSKU=ol.SellerSKU ORDER BY ID DESC),''),ISNULL(p.ProductName,'') ,ISNULL(p.ProductNameCN,''),ISNULL(p.ImageUrl,''),ol.ProductNum,(ISNULL(ll.BuyNum,0)-ISNULL(ll.BuyPutInNum,0)+ol.LockNum),oi.ServiceAdminID,oi.ServiceAdminName,oi.AddTime,ol.UpdateTime,ol.GroupSKU,ol.SellerSKU,ol.ProductNumUpdate,ol.GroupProductNum,ol.GroupProductNumUpdate,ol.LockNum,ol.LockTime,ol.PurchaseType,ol.Marks,ISNULL(ll.BuyPutInNum,0) + ISNULL(ll.OtherPutInNum,0),ISNULL(ol.PendMoveNumber,0) FROM dbo.RB_OrderInfo (NOLOCK) oi LEFT JOIN dbo.RB_OrderList(NOLOCK) ol ON ol.CustomerID = oi.CustomerID AND ol.OrderCode = oi.OrderCode LEFT JOIN dbo.RB_Product (NOLOCK) p ON p.CustomerID = ol.CustomerID AND ol.SKU = p.SKU LEFT JOIN RB_Stockpile_OrderList(NOLOCK) ll on ol.id=ll.OrderListId LEFT JOIN dbo.RB_WareHouse (NOLOCK) wh ON wh.CustomerID = oi.CustomerID AND oi.WareHouseID = wh.ID LEFT JOIN dbo.RB_OrderInfo_BeikuExpand (NOLOCK) oibk ON oibk.CustomerID = oi.CustomerID AND oibk.OrderCode = oi.OrderCode WHERE oi.CustomerID =1 AND oi.IsStockOrder =1 AND ISNULL(ol.ID,0)>0 AND ISNULL(wh.IsStockpile, 0) = 1 AND ((oibk.OrderBuildType =3) OR (oibk.OrderBuildType =1 AND ISNULL(oibk.IsSTAComOrder,0)=1)) AND wh.WareHouseType=1 AND ol.UpdateTime < replace('2024-12-26 10:15:00', '%', ' ') AND ol.UpdateTime>= DATEADD(HOUR,-24,REPLACE ('2024-12-26 10:10:00', '%', ' ' ))
查询时间缓慢 包含了大量逻辑 不应该做为同步模式
[结果]
[期望]
不同数据 不应该从主库 而且 不能包含大量逻辑 ,业务逻辑需自己的独立库处理
每轮同步一天内的备库单数据,改为同步一个小时内数据