撰写oracle-sql-hint的注意事项

简介:

有时候Oracle自动生成的执行计划是“笨”的,我们给一些提示信息,让Oracle自动找到“聪明”的执行计划,这就是"hint"。

初学者,甚至专业人员,会遇到这样的疑惑:hint不起作用?

因为Oracle对于错误的hint是自动忽略,所以我们要特别注意hint的语法(暂列一条):如果在SQL中使用了别名,那么Hint中也要使用别名。

样例1:

 
  1. -- 使用索引,t2为别名,PK_My_Table2为索引名  
  2. INDEX(t2 PK_My_Table2)  


样例2:
 

 
  1. -- 要关联t和t1 (其中t和t1为别名)  
  2. USE_MERGE(t,t1)  
  3.  
  4. -- 不要关联t1和t2 (其中t1和t2为别名)  
  5. NO_USE_MERGE(t1,t2) 

样例3:

 
  1. -- hint位于 /*+ 和 */ 之间  
  2. SELECT     
  3. /*+ USE_MERGE(t,t1) NO_USE_MERGE(t1,t2) INDEX(t1 PK_My_Table1) first_rows*/   
  4. <<字段名列表>>  
  5. from .....  
  6.    

 


 本文转自 hexiaini235 51CTO博客,原文链接:http://blog.51cto.com/idata/947744,如需转载请自行联系原作者






相关文章
|
3月前
|
Oracle 关系型数据库 索引
Oracle-维护存在主键的分区表时的注意事项
Oracle-维护存在主键的分区表时的注意事项
67 0
|
4月前
|
SQL 存储 关系型数据库
Presto【实践 01】Presto查询性能优化(数据存储+SQL优化+无缝替换Hive表+注意事项)及9个实践问题分享
Presto【实践 01】Presto查询性能优化(数据存储+SQL优化+无缝替换Hive表+注意事项)及9个实践问题分享
88 0
|
8月前
|
SQL 开发框架 .NET
ef linq方式插入+sql操作数据注意事项
ef linq方式插入+sql操作数据注意事项
65 0
|
10月前
|
存储 SQL Oracle
Oracle 存储过程和方法全攻略:实战详解调用技巧与注意事项
Oracle 存储过程和方法全攻略:实战详解调用技巧与注意事项
362 0
|
SQL Oracle 关系型数据库
【SQL开发实战技巧】系列(四):从执行计划讨论UNION ALL与空字符串&UNION与OR的使用注意事项
本篇文章讲解的主要内容是:***有重复数据的数据集用UNION后得到的数据与预期不一致如何解决,当两个表中有重复数据时,UNION的去重功能被忽略,UNION过程中如何识别展示出来、空值与空字符串的关系以及在UNION ALL中的使用、UNION与OR可以互相改写以及使用中的注意事项。***
【SQL开发实战技巧】系列(四):从执行计划讨论UNION ALL与空字符串&UNION与OR的使用注意事项
|
SQL 关系型数据库 MySQL
Mysql_8 SQL 语句——DQL 例题及一些注意事项
学习自b站骆昊jackfrued 老师的网课以及黑马网课。
95 0
Mysql_8 SQL 语句——DQL 例题及一些注意事项
|
SQL 分布式计算 大数据
九个最容易出错的 Hive sql 详解及使用注意事项 (二)
在进行数仓搭建和数据分析时最常用的就是 sql,其语法简洁明了,易于理解,目前大数据领域的几大主流框架全部都支持sql语法,包括 hive,spark,flink等,所以sql在大数据领域有着不可替代的作用,需要我们重点掌握。
1020 0