1、use_concat

网上说法:

CONCATENATION和UNION/UNION ALL操作比较类似,根据OR查询条件,将一个查询分解为两个或更多的部分,然后在去掉两个部分重复的记录。由于CONCATENATION执行计划需要去掉重复的记录,因此和UNION ALL不同。和UNION也不同的是,这个执行计划并不会去掉所有的重复记录,而只是CONCATENATION包含两个子查询之间重复的记录被过滤掉。10g中,这个执行计划和提示已经是为了后向兼容而保留了,可以看到,默认情况下,就是使用CONCATENATION执行计划的COST更低,Oracle也不会选择这种执行计划;

对于or子查询句式,如果使用use_concat无效,可以尝试使用/* +use_concat(or_predicates(1))*/

与use_concat相反的是no_expand

参考: http://blog.itpub.net/267265/viewspace-1788598/

相关文章:

  • 2021-05-24
  • 2022-12-23
  • 2021-09-06
  • 2021-10-07
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-11-04
  • 2021-04-29
  • 2021-07-12
  • 2022-02-16
  • 2021-06-20
相关资源
相似解决方案