MERGE_OPT_FLAG=0 时MERGE被拆分为UPDATE/INSERT/DELETE三步执行,VPD策略仅在部分分支生效;MERGE_OPT_FLAG=1 时MERGE合并为单一操作符,VPD策略完整附加。我的理解是这个参数控制了优化器对MERGE的重写方式,但为什么拆分执行时VPD策略不能在所有分支上都附加?这属于优化器的设计限制,还是实现上的缺陷?
MERGE_OPT_FLAG=1 时MERGE合并为单一操作符,VPD策略完整附加。 这是是一个演进中的设计限制,早期实现未能预见MERGE与VPD组合的复杂性,在后期优化中优化merge操作从根本上统一了安全模型,使之与MERGE的“原子”语义相匹配。
MERGE_OPT_FLAG=1 时MERGE合并为单一操作符,VPD策略完整附加。
这是是一个演进中的设计限制,早期实现未能预见MERGE与VPD组合的复杂性,在后期优化中优化merge操作从根本上统一了安全模型,使之与MERGE的“原子”语义相匹配。