首页 > Linux操作系统 > Linux操作系统 > HINT - SQL语句暗示
hints - SQL语句的注释,指导oracle优化器选择指定的执行计划。
下面是常见的一些hints:
1. unnest
UNNEST hint指导优化器unnest子查询,也就是将子查询合并到包含子查询的查询块中,将它们
作为一个整体来进行评估访问路径和关联方式。当子查询返回数据较多时,使用UNNEST就比较合适。
案例:not in和not exists,SQL语句可能会进行filter操作。如果使用unnest,SQL语句将
优先使用hash join anti。
2. USE_CONCAT
USE_CONCAT hint指导优化器将where中的OR条件转化成使用UNION ALL集合操作。当or条件中的
字段上都有索引时,使用USE_CONCAT比较合适。
SELECT /*+ USE_CONCAT */ *
FROM hr.employees e
WHERE manager_id = 108
OR department_id = 110;
3. NO_INDEX
. NO_INDEX hint指导优化器不要使用一个或者多个索引。
SELECT /*+ NO_INDEX(employees EMP_EMP_ID_PK) */ employee_id
FROM hr.employees
WHERE employee_id > 200;
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/25105315/viewspace-755164/ ,如需转载,请注明出处,否则将追究法律责任。