反馈人:袁慧斌
严重级别:严重
所属项目:hwy-zh-gz-lfw-datax03
问题原因:同步数据SQL 没有加 nolock
SELECT 1 AS customerId,
CASE
WHEN ol.ID IS NOT NULL THEN ol.ID
ELSE oll.ID
END AS orderItemID,
s.ID AS OrderSourceID,
o.ServiceAdminID,
o.LogisticsOrderNo,
o.ServiceAdminName,
o.AmazonShipmentId,
s.OrderSourceName,
o.AddTime AS OrderAddTime,
o.OrderCode,
o.OrderState,
o.OrderStatus,
fhwh.ID AS DeliveryWareHouseID,
fhwh.WareHouseName AS DeliveryWareHouseName,
bkwh.ID AS RestockWareHouseID,
bkwh.WareHouseName AS RestockWareHouseName,
o.TransportId,
t.TransportName,
beikuExpand.OrderBuildType 省略
FROM RB_OrderInfo o ( NOLOCK )
JOIN RB_OrderSource sc ( NOLOCK )
ON o.OrderSourceID = sc.ID
AND sc.OrderSourceType = 1
LEFT JOIN RB_OrderList oll ( NOLOCK )
ON oll.OrderCode = o.OrderCode
AND oll.CustomerID = o.CustomerID
LEFT JOIN (SELECT p.ID,
p.PackageState,
p.ShipTime,
p.TrackNumber,
p.MergerPackageNo,
p.CustomerID,
opd.SKU,
opd.PackageID,
opd.OrderListID,
opd.OrderCode
FROM RB_Procurement_Order_Package p ( NOLOCK )
LEFT JOIN dbo.RB_Procurement_Order_Package_OrderDetail ( NOLOCK ) opd
ON p.CustomerID = opd.CustomerID
AND p.ID = opd.PackageID
WHERE p.customerid = 1
AND p.MergerPackageNo IN( 202507010016207238813 )) tb
ON tb.MergerPackageNo = o.OrderCode
AND tb.CustomerID = o.CustomerID
AND tb.SKU = oll.SKU
LEFT JOIN RB_OrderList ol ( NOLOCK )
ON ol.ID = tb.OrderListID
AND ol.OrderCode = tb.OrderCode
AND ol.CustomerID = tb.CustomerID
AND ol.sku = tb.sku
LEFT JOIN RB_WareHouse_Product whp ( NOLOCK )
ON whp.OrderSourceID = o.OrderSourceID
AND whp.CustomerID = ol.CustomerID
AND whp.OrderSourceSKU = ol.SellerSKU
LEFT JOIN RB_WareHouse_Product whp2 ( NOLOCK )
ON whp2.OrderSourceID = o.OrderSourceID
AND whp2.CustomerID = oll.CustomerID
AND whp2.OrderSourceSKU = oll.SellerSKU
LEFT JOIN RB_OrderSource s ( NOLOCK )
ON o.OrderSourceID = s.ID
AND s.CustomerID = o.CustomerID
LEFT JOIN RB_Transport t ( NOLOCK )
ON o.TransportID = t.ID
AND o.CustomerID = t.CustomerID
LEFT JOIN RB_OrderInfo_BeikuExpand beikuExpand ( NOLOCK )
ON beikuExpand.CustomerID = o.CustomerID
AND o.OrderCode = beikuExpand.OrderCode
LEFT JOIN RB_WareHouse bkwh ( NOLOCK )
ON bkwh.CustomerID = o.CustomerID
AND o.ToWareHouseID = bkwh.ID
LEFT JOIN RB_WareHouse fhwh ( NOLOCK )
ON fhwh.CustomerID = o.CustomerID
AND o.WareHouseID = fhwh.ID
LEFT JOIN RB_FBA_ShipmentDetail rfsd
ON o.AmazonShipmentId = rfsd.ShipmentId
AND oll.SellerSKU = rfsd.SellerSKU
LEFT JOIN RB_StockOrder_ActualReceiptQuantity arq ( NOLOCK )
ON arq.OrderListId = oll.ID
LEFT JOIN RB_Overseas_ShipmentDetailNew sdn ( NOLOCK )
ON tb.PackageID = sdn.PackId
AND tb.SKU = sdn.OverseaSku
WHERE o.CustomerID = 1
AND o.OrderCode IN ( 202507010016207238813 )
AND o.OrderStatus IN ( 0, 2, 3 )
AND o.IsStockOrder = 1
AND beikuExpand.OrderBuildType IN ( 1, 2, 3 )
解决方案:补充完整的 nolock LEFT JOIN RB_FBA_ShipmentDetail rfsd 其他一并检查
重现步骤