我是靠谱客的博主 害羞河马,最近开发中收集的这篇文章主要介绍撰写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.    

 

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

最后

以上就是害羞河马为你收集整理的撰写oracle-sql-hint的注意事项的全部内容,希望文章能够帮你解决撰写oracle-sql-hint的注意事项所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(40)

评论列表共有 0 条评论

立即
投稿
返回
顶部