暂无图片
Oracle Hint(提示)之 PUSH_SUBQ
最近更新:2024-05-07 20:08:51

PUSH_SUBQ提示的作用和使用方法

PUSH_SUBQ 提示是指导优化器对不可以合并(或展开)的子查询,放到执行计划中尽可能早的步骤上处理,而不是放到执行计划的最后才去处理。当该不可合并视图访问的代价较小,而且还能显著减少处理的行数,那么这样做,可以有效提升SQL的性能。

PUSH_SUBQ 提示的使用语法如下图所示: 图片.png

其各部分的含义如下: queryblock表示查询块。优化器在为一条SQL制定执行计划时,会将该SQL中涉及的子查询和视图,拆分为相应的查询块。分别为每一个查询块制定执计划。

下面,我们通过实验来说明施加该提示时,优化器是如何处理的。

测试验证

首先,我们创建测试表TESTTAB,并收集统计信息: 图片.png

......