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.数据库架构师等职,多年一线数据库架构. ...
随机推荐
- python3之本地文件模拟登录
本地文件模拟登录 user.txt文本文件数据格式: username:password #coding:utf-8 #读取数据 userFile = open("user.txt" ...
- Restful API接口规范
1. 域名 应该尽量将API部署在专用域名之下. https://api.example.com 如果确定API很简单,不会有进一步扩展,可以考虑放在主域名下. https://example.org ...
- SpringBoot结合策略模式实战套路
1. SpringBoot结合策略模式实战套路 1.1. 前言 我们都知道设计模式好,可以让我们的代码更具可读性,扩展性,易于维护,但大部分程序猿一开始都学过至少一遍设计模式吧,实战中不知用到了几成. ...
- 统计代码测试覆盖率-Python
衡量Unit Test(单元测试)是否充分, 覆盖率是一个必要指标, 是检验单元测试的重要依据, 这里针对python unittest 的单元测试覆盖率coverage进行分享. 来自官方的解释: ...
- day 36
目录 pymysql操作mysql 安装 连接 增 删 改 查 索引 为什么使用索引以及索引的作用 类比 索引的本质 索引的底层原理 索引的种类(重点) 主键索引 唯一索引 普通索引 索引的创建 主键 ...
- vlan技术简单了解
VLAN(虚拟局域网)是对连接到的第二层交换机端口的网络用户的逻辑分段,不受网络用户的物理位置限制而根据用户需求进行网络分段.一个VLAN可以在一个交换机或者跨交换机实现.VLAN可以根据网络用户的位 ...
- toString的本质 以及String.valueOf()
Object可以用toString转为字符串. Object.toString(); 但char[]不行,得用valueOf. String.valueOf(char[]); 如果用toString, ...
- 3.1 Spark概述
一.Spark简介 1.Spark的特点 特点1:运行速度快(内存计算,循环数据流.有向无环图设计机制) 把所有针对数据集的操作转换成一张有向无环图,整个执行引擎调度都是基于这个有向无环图,对这个有向 ...
- 04发送请求,将值赋给data--动态传递参数
03==>发送青丘,将值赋给data. 注意:赋值使用的是 _this.setData({ }) 是以冒号的形式赋值, 提前保存好this data: { arrlistdata:[], }, ...
- idea中的插件,可以快速将类中的属性转换成Json字符串
当我们想要测试接口的时候,难免会根据一个类,一个一个的写json数据,当属性比较少时还行,但当属性多的时候就比较麻烦了, 为了解决这个问题,我们可以安装第三方的插件来快速生成json字符串. 步骤如下 ...