[步骤]
监控发现一下语句 时长更新,更新时间长会对系统产生阻塞,影响上架
UPDATE a SET a.IsVariation = b.IsVariation, a.ParentASIN = b.ParentASIN, a.IsSaleProduct = ( CASE WHEN ( b.IsVariation = 0 ) OR ( b.IsVariation = 1 AND Len(b.ParentASIN) > 1 ) THEN 1 ELSE 0 END ), a.IsFirstLevelProduct = ( CASE WHEN Len(b.ParentASIN) > 1 THEN 0 ELSE 1 END ) FROM RB_Amazon_Product_Base a (nolock) left JOIN RB_Amazon_MatchingProductResult b (nolock) ON a.CustomerID = b.CustomerID AND a.OrderSourceID = b.OrderSourceID AND a.ASINorItemID = b.ASIN WHERE isnull(a.IsVariation,-1) <> b.IsVariation or isnull(a.ParentASIN,'') <> b.ParentASIN and a.CustomerID=1 and a.OrderSourceID=5123
[结果]
[期望]
拆分Update语句
1、先用Select 查出待更新数据
2、通过主键ID批量更新