传统update写法
update b_pharmacy_sku vs set vs.supply_price = (select t.supply_price from b_pharmacy_sku_bak t where t.id = vs.id) where
exists(select 1 from b_pharmacy_sku_bak t where t.id = vs.id);
MERGE INTO b_pharmacy_sku p1
USING b_pharmacy_sku_bak p2
ON (p1.id = p2.id)
WHEN MATCHED THEN
UPDATE
SET p1.supply_price = p2.supply_price;
亲测在数据量在30W条的情况下传统update写法耗时10分钟,使用merge耗时20秒。
--注意:ON 里面用到的条件字段不能作为更新字段