Oracle Hint用法整理笔记
整理工作中用到的Hint,不定时更新,Hint是oracle早期因为oracle优化器还不是很完善加上去的
,可以辅助oracle优化器
- 1、/*+ result_cache */
- 2、/*+ connect_by_filtering */
- 3、/*+ no_unnset */
- 4、/*+ index(表别名 索引名) */
- 5、/*+ INDEX_FFS(表别名 索引名) */
- 6、/*+ INDEX_DESC(表别名 索引名 ) */
- 7、/*+ INDEX_ASC(表别名 索引名) */
- 8、/*+ INDEX_COMBINE */
- 9、/*+ INDEX_JOIN(表别名 索引名) */
- 10、/*+ ADD_EQUAL 表别名 索引名1,索引名2,... */
- 11、/*+ ordered use_nl(dept) */
- 12、/*+ ALL_ROWS */
- 13、/+FIRST_ROWS/
- 14、/*+ CHOOSE */
- 15、/*+ RULE */
- 16、/*+ FULL(TABLE) */
- 17、/*+ ROWID(TABLE) */
- 18、/*+ USE_HASH(TABLE) */
1、/*+ result_cache */
设置缓存,特殊业务场景才可以使用
2、/*+ connect_by_filtering */
强制使用联合型的关联型(CONNECT BY WITH FILTERING)
,ps:详情
见:https://smilenicky.blog.csdn.net/article/details/89604262
3、/*+ no_unnset */
双重否定表示肯定,即让子查询展开,让它嵌套(nest)在里面
4、/*+ index(表别名 索引名) */
强制索引,有时候可以使用,不过有时候可以关了基数反馈机制
5、/*+ INDEX_FFS(表别名 索引名) */
对指定的表执行快速全索引扫描,而不是全表扫描的办法
6、/*+ INDEX_DESC(表别名 索引名 ) */
表明对表选择索引降序的扫描方法
7、/*+ INDEX_ASC(表别名 索引名) */
表明对表选择索引升序的扫描方法
8、/*+ INDEX_COMBINE */
为指定表选择位图访问路经,如果INDEX_COMBINE中没有提供作为参数的索引,将选择出位图索引的布
尔组合方式
9、/*+ INDEX_JOIN(表别名 索引名) */
提示明确命令优化器使用索引作为访问路径
10、/*+ ADD_EQUAL 表别名 索引名1,索引名2,... */
提示明确进行执行规划的选择,将几个单列索引的扫描合起来
eg:
SELECT /*+INDEX_FFS(e IN_ENAME,IN_DEPTNO)*/
*
FROM emp e
WHERE e.ename = 'CLERK'
AND e.deptno = '20';
11、/*+ ordered use_nl(dept) */
强制使用联合型的关联型(NL),将指定表与嵌套的连接的行源进行连接,并把指定表作为内部表
12、/*+ ALL_ROWS */
表明对语句块选择基于开销的优化方法,并获得最佳吞吐量,使资源消耗最小化
13、/+FIRST_ROWS/
表明对语句块选择基于开销的优化方法,并获得最佳响应时间,使资源消耗最小化
14、/*+ CHOOSE */
表明如果数据字典中有访问表的统计信息,将基于开销的优化方法,并获得最佳的吞吐量;
表明如果数据字典中没有访问表的统计信息,将基于规则开销的优化方法;
15、/*+ RULE */
表明对语句块选择基于规则的优化方法
16、/*+ FULL(TABLE) */
表明对表选择全局扫描的方法
17、/*+ ROWID(TABLE) */
提示明确表明对指定表根据ROWID进行访问
18、/*+ USE_HASH(TABLE) */
将指定的表与其他行源通过哈希连接方式连接起来
Oracle Hint用法整理笔记的更多相关文章
- Oracle Hint 用法
正确的语法是: select /*+ index(x idx_t) */ * from t x where x.object_id=123 /*+ */ 和注释很像,比注释多了一个“+”,这就是 ...
- Oracle Hint用法总结
1. /*+ALL_ROWS*/ 表明对语句块选择基于开销的优化方法,并获得最佳吞吐量,使资源消耗最小化. 例如: SELECT /*+ALL+_ROWS*/ EMP_NO,EMP_NAM,DAT_I ...
- PLSQL_PLSQL Hint用法总结(概念)
2014-06-20 Created By BaoXinjian
- Spring JdbcTemplate用法整理
Spring JdbcTemplate用法整理: xml: <?xml version="1.0" encoding="UTF-8"?> <b ...
- /*+ hint*/用法,该如何解决
/*+ use_hash(b, a)*/用法SELECT /*+ use_hash(b, a)*/ 1, NVL(b.AgentWorkGroup, ' '), ................ ...
- SQL优化过程中常见Oracle HINT
在SQL语句优化过程中,我们经常会用到hint,现总结一下在SQL优化过程中常见Oracle HINT的用法: 1. /*+ALL_ROWS*/ 表明对语句块选择基于开销的优化方法,并获得最佳吞吐量, ...
- Oracle hint手动优化
例子 select/*+FULL(fortest)*/ * from fortest where id = 2000000 //使用0.70s时间 select* from fortest where ...
- Oracle define用法简介教程
目录 1.define常量用法 2.&和&&符号用法 继上一篇博客Oracle绑定变量学习笔记,再写一篇define变量的简单教程 @ 1.define常量用法 注意:defi ...
- 【DBAplus】SQL优化:一篇文章说清楚Oracle Hint的正确使用姿势
原创 2016-09-12 韩锋 作者介绍 韩锋,宜信技术研发中心数据库架构师.精通多种关系型数据库,曾任职于当当网.TOM在线等公司,曾任多家公司首席DBA.数据库架构师等职,多年一线数据库架构. ...
随机推荐
- Java开发在线考试系统 使用ssh框架编写源码
开发工具: Eclipse, Tomcat, MySql 1. 登录页面登录功能, 输入用户名与密码, 选择角色, 滑动箭头拉到最右边才可以点击登录 2. 学生角色登录 ...
- Android培训准备资料之UI一些相似控件和控件一些相似属性之间的区别
这一篇博客主要收集五大布局中的一些相似控件和控件一些相似属性之间的区别 ImageView ImageButton Button 三者有啥区别? (1)Button继承自TextView,ImageV ...
- flink WaterMark之TumblingEventWindow
1.WaterMark,翻译成水印或水位线,水印翻译更抽象,水位线翻译接地气. watermark是用于处理乱序事件的,通常用watermark机制结合window来实现. 流处理从事件产生,到流经s ...
- SpringBoot 整合Mybatis操作数据库
1.引入依赖: <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId> ...
- 【面试题】了解session和cookie吗?
问题:SESSION与COOKIE的区别? 1.cookie数据存放在客户的浏览器上,session数据放在服务器上. 2.cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKI ...
- Rust中的结构体及方法语法
这个可以和类作比较,或是go当中的方法比较. #[derive(Debug)] struct Rectangle { width: u32, height: u32, } impl Rectangle ...
- linux (04) linux安装mysql
https://www.cnblogs.com/pyyu/p/9467289.html mysql博客 一.mysql (分支 mariadb) 1.安装mariadb -yum -源码编译安 ...
- 201871010106-丁宣元 《面向对象程序设计(java)》第十一周学习总结
201871010106-丁宣元 <面向对象程序设计(java)>第十一周学习总结 正文开头: 项目 内容 这个作业属于哪个课程 https://home.cnblogs.com/u/nw ...
- 201871010118-唐敬博《面向对象程序设计(java)》第十周学习总结
博文正文开头格式:(2分) 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.co ...
- web-程序逻辑问题
题目 查看源码 http://ctf5.shiyanbar.com/web/5/index.txt 代码如下 <html> <head> welcome to simplexu ...