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.数据库架构师等职,多年一线数据库架构. ...
随机推荐
- Binding ,抄自 http://www.cnblogs.com/cnblogsfans/archive/2011/02/19/1958586.html
1. 绑定到其它元素 <Grid> <StackPanel > <TextBox x:Name="textBox1" Height="150 ...
- 使用T4模板同时生成多个类文件
代码: <#@ template language="C#" debug="false" hostspecific="true"#&g ...
- python安装扩展”unable to find vcvarsall.bat“的解决办法
产生原因: python3.4用的是msvs2010编译的,所以python3.4默认只能认出msvs2010以上版本 python2.7用的是msvs2008编译的,所以python2.7默认只能认 ...
- Java中级—转发和重定向的区别
在设计Web应用程序的时候,经常需要把一个系统进行结构化设计,即按照模块进行划分,让不同的Servlet来实现不同的功能,例如可以让其中一个Servlet接收用户的请求,另外一个Servlet来处理用 ...
- python中pip添加国内镜像源后显著加速下载
python中pip添加国内镜像源后显著加速下载 更换pip源到国内镜像,很多国外的库下载非常慢,添加国内镜像后安装下载速度提升非常明显(亲测有些可以由几十kb加速到几MB) pip国内的一些镜像阿里 ...
- 续~ES6 新语法 (symbol、set集合、 数组对象的filter(),reduce(),weakset(),map()方法)
一.symbol 回顾数据类型: 基本类型(原始类型): String Number Boolean Undifined Null Symbol 引用类型: Objects 1.1 创建symbol ...
- 我的第一次diy装机记录——小白的配置篇
工欲善其事,必先利其器 相对于IT人来说,电脑是个好东西,应该是第二个除了手机陪伴我们最长的东西.今年4月份来的杭州,留下了那款陪我征战4年的笔记本,没有电脑,下班后的夜晚索然无味,身心的需求也日渐强 ...
- Prometheus node_exporter grafana部署安装
1.环境 centos7 prometheus-2.10.0.linux-amd64.tar.gz node_exporter-0.18.1.linux-amd64.tar.gz 2.安装 创建sys ...
- Shell脚本(2)
命令替换: Shell脚本可以从命令输出中提取信息,并将其赋给变量 方法: 1.反引号字符:` 2.格式:$() 例子:#/bin/bash test=$(date) echo "the d ...
- 初识v4l2(五)-------v4l2_ioctl浅析
上一篇文章中,已经介绍了v4l2_open.v4l2_read.v4l2_write的调用过程,相对于v4l2_ioctl,它们是比较简单的.下面来分析v4l2_ioctl.注意在这里还是分析以viv ...