博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
撰写oracle-sql-hint的注意事项
阅读量:7195 次
发布时间:2019-06-29

本文共 449 字,大约阅读时间需要 1 分钟。

有时候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.    

 

转载地址:http://cmvkm.baihongyu.com/

你可能感兴趣的文章
spring+struts2+spring_jdbc框架的集成
查看>>
javascript string类常用方法整理
查看>>
ViewState的用法
查看>>
Xcode7工程改名
查看>>
oc调用swift的打包.a / framework 不成功?!
查看>>
快速排序
查看>>
python笔记02切片及字符串操作
查看>>
二叉树的递归和非递归实现
查看>>
Dx bad class file magic (cafebabe) or version (0033.0000) ant打包遇到问题2
查看>>
只能输入数字,输入非数字时弹出提示
查看>>
android开发中经常会用到的一些开源项目
查看>>
cocos creator怎么隐藏组件(setVisible)
查看>>
Ubuntu 16.04 LTS发布
查看>>
java泛型的理解
查看>>
C++笔记(4)-用于大型程序的工具
查看>>
游戏中使用LUA脚本语言的简介
查看>>
gcc -lpthread
查看>>
Python replace()方法
查看>>
sparkStreaming(2.1.0)示范代码
查看>>
Movideo着手将大规模的基于Java的平台向Windows Azure转变
查看>>