与优化器相关的Hint
/*+ ALL_ROWS */
它的含义是启用CBO
/*+ FIRST_ROWS(n) */
优化器启用CBO,而且依据返回头n条的记录的响应时间来决定SQL的执行计划。
注意,first_rows(n)与first_rows_n并不是一一对应的
/*+ RULE */
如果目标SQL使用了并行执行,就意味着其中的RULE Hint会失效,此时Oracle会自动启用CBO。
如果目标SQL所涉及的对象有分区表,就意味着目标SQL中的RULE Hint会失效,此时Oracle会自动启用CBO。
如果目标SQL所涉及的对象有IOT(Index Organization Table)表,就意味着SQL中的RULE Hint会失效,此时Oracle会自动启用CBO。
与访问相关的Hint
/*+ FULL(目标表) */
全表扫描,而不考虑目标表的索引
/*+ ROWID(目标表) */
它的含义是让优化器对目标表执行ROWID扫描。
与索引访问相关的Hint
/*+ INDEX(目标表 索引) */
/*+ INDEX(目标表 索引1 索引2 ......索引n) */
/*+ INDEX(目标表 (索引1的索引列名)(索引2的索引列名)........(索引n的索引列名) )
/*+ INDEX(目标表) */