Hint的固定格式
/*+ <具体的Hint内容> */
Hint指定具体对象时(指定表名或索引名),不能带上该对象的SCHEMA的名称。
Hint指定具体表名时,如果该表在SQL文本中有别名(alias),则应该使用别名。
Oracle数据库中Hint生效的范围仅限于它本身所在的Query Block,如果想将Hint生效的范围扩展到它所在的Query Block之外而又没有在该Hint中指定其生效的Query Block名称的话,则Oracle会忽略该Hint。
对于目标中的Query Block,Oracle会对其中没有被我们定义的Query Block自动命名。自动命名的规则是‘类型$数字’,如果同样类型的Query Block不止一个,则其中的数字从1往递增。
除了自命名外,我们还可以使用QB_name Hint来为Query Block自定义一个名称,格式为
/* QB_NAME(自定义的Query Block名称) */
在Hint中出现的Query Block格式必须是“@Query Block名称”