oracle hint 分类
Oracle的hint种类繁多,大致可以分为下面几类:
优化方式和目标:如RULE、CHOOSE、FIRST_ROWS、ALL_ROWS等。
访问路径:如INDEX、FULL、CLUSTER、INDEX_FFS等。
查询转换:如MERGE、USE_CONCAT、NO_EXPAND等。
连接顺序:如LEADING、ORDERED、STAR等。
连接操作:如USE_NL、USE_HASH、USE_MERGE等。
并行执行:如PARALLE、NOPARALLEL、PARALLEL_INDEX等。
其他类型;如APPEND、UNNEST、CACHE等。
INDEX只是Hint的一类。
关于LEADING、ORDERED:
/*+ORDERED*/提示按照from后表的顺序执行。
/*+LEADING(table1 table2 ...)*/提示按照指定顺序执行。
关于USE_NL、USE_HASH、USE_MERGE:
我测试的是10g,三者只需填写表名作为参数,无顺序需要,应该是Oracle自动选择驱动表。
但是、可以用LEADING或ORDERED指定顺序。
(注意)INDEX的使用影响的是表自身的查询;USE_NL、USE_HASH、USE_MERGE影响的是表之间的连接。