暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Oracle提示-swap_join_inputs

数据老匠 2016-10-10
503


swap_join_inputs提示

该提示用于告诉CBO以指定的表作用驱动表。

对应的no_swap_join_inputs表示不以该表为驱动表。

该提示通常用于控制use_hash的关联顺序。


指定驱动表:


三个SQL的执行计划相同。

ordered表示依照from后表的顺序依次关联表,leading表示按指定的表顺序进行关联。

首先,x与y使用hash_join的方式关联,结果集为xy。

然后,xy与z也使用hash_join的方式关联。swap_join_inputs(z)表示z与xy使用hash_join关联时,z为build表。


指定非驱动表:


三个SQL的执行计划相同。

ordered表示依照from后表的顺序依次关联表,leading表示按指定的表顺序进行关联。

首先,x与y使用hash_join的方式关联,结果集为xy。

然后,xy与z也使用hash_join的方式关联。no_swap_join_inputs(z)表示z与xy使用hash_join关联时,z不为build表。


文章转载自数据老匠,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论