
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进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




