oracle hint使用

1.hint作用

  Hints只应用在它们所在sql语句块(statement  block,由select、update、delete关键字标识)上,对其它SQL语句或语句的其它部分没有影响。如:对于使用union操作的2个sql语句,如果只在一个sql语句上有Hints,则该Hints不会影响另一个sql语句。

2.常用hint

hint 功能
/*+ driving_site(table_name) */ 选择执行的主表,在使用dblink时,选择大表可显著加快查询速度
/*+ parallel(table_name n)  */ 在sql中指定执行的并行度,这个值将会覆盖自身的并行度
/*+ index(table_name  index_name) */ 表明对表选择索引的扫描方法

 

select /*+ driving_site(t2) */ t1.* from t1, t2@dblink1 where t1.id = t2.id;
select /*+ parallel(t1 4) */ t1.* from t1;

3.表关联相关hint

hint 功能
/*+ leading(table_1,table_2) */ 在多表关联查询中,指定哪个表作为驱动表,即告诉优化器首先要访问哪个表上的数据。
/*+ order */  让Oracle根据from后面表的顺序来选择驱动表
/*+ use_nl(table_1,table_2) */  在多表关联查询中,指定使用nest loops方式进行多表关联。
/*+ use_hash(table_1,table_2) */  在多表关联查询中,指定使用hash join方式进行多表关联

oracle hint使用

上一篇:初识数据库


下一篇:SQL Server数据库中还原孤立用户的方法集合