Oracle NO_PUSH_PRED 不使用谓词推入

Oracle Hint No PUSH PRED

The NO_PUSH_PRED hint instructs the optimizer not to push a join predicate into the view.

当察看执行计划发现有 view pushed predicate, 并且很确定这一步是使得PLAN cost 很高。 那么此时可以考虑针对这个查询块使用hint  不走谓词推入


使用方法:

/*+ NO_PUSH_PRED(查询块别名) */

例如:

SELECT /*+  NO_PUSH_PRED(v) */ *
    FROM employees e,
         (SELECT manager_id
            FROM employees
         ) v
  WHERE e.manager_id = v.manager_id(+)
    AND e.employee_id = 100;

你可能感兴趣的:(oracle)