oracle笔记整理12——性能调优之hint标签

提示里不区分大小写, 多个提示用空格分开;
如果表使用了别名, 那么提示里也必须使用别名;

1) 优化器相关hint

a) /+ALL_ROWS/
表明对语句块选择基于cost的优化方法,并获得最佳吞吐量,使资源消耗最小化

b) /+FIRST_ROWS/
表明对语句块选择基于cost的优化方法,并获得最佳响应时间,使资源消耗最小化.

c) /+CHOOSE/
表明如果数据字典中有访问表的统计信息,将基于开销的优化方法,并获得最佳的吞吐量;
表明如果数据字典中没有访问表的统计信息,将基于规则开销的优化方法;

d) /+RULE/
表明对语句块选择基于规则的优化方法.

2) 访问路径相关hint

a) /+FULL(TABLE)/
表明对表选择全局扫描的方法.

b) /+ INDEX(TABLE INDEX_NAME) /
表明对表选择索引的扫描方法.

3) 表关联相关hint

a) /+LEADING(TABLE)/
在多表关联查询中,指定哪个表作为驱动表

b) /+ORDERED/
让Oracle根据from后面表的顺序来选择驱动表,oracle建议使用leading,更为灵活

c) /+ use_nl(table_1,table_2) /
在多表关联查询中,指定使用nest loops方式进行多表关联。

d) /+ use_hash(table_1,table_2) /
在多表关联查询中,指定使用hash join方式进行多表关联。

e) /+ use_merge(table_1,table_2) /
在多表关联查询中,指定使用merge join方式进行多表关联。

4) 其他hint

a) /+ parallel(table_name n) /
在sql中指定执行的并行度,这个值将会覆盖自身的并行度。

b) /+ append /
以直接加载的方式进行数据加载,多用于insert语句。

你可能感兴趣的:(oracle)