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.数据库架构师等职,多年一线数据库架构. ...
随机推荐
- 微信分享网页时自定义缩略图和简介(.net版本)
要实现微信分享网页时自定义缩略图和简介,需开发者在公众平台网站中创建公众号.获取接口权限后,通过微信JS-SDK的分享接口,来实现微信分享功能. 下面来说明实现步骤. 第一部分 准备步骤 步骤一:注册 ...
- VS Code 自动修改和保存 代码风格 == eslint+prettier
最近因为用到VS Code,需要统一所有人的代码风格(前端语言js/html/css等,或者后端语言 go/python等也可以这么用). 所以参考了一些网络资料,记录下设置步骤,以便后续查阅. St ...
- jmeter-分布式压测部署之负载机的设置
本文分三个部分: 1.windows下负载机的配置 2.Linux下负载机的配置 3.遇到的问题 *************************************************** ...
- Codeforces 939A题,B题(水题)
题目链接:http://codeforces.com/problemset/problem/939/A A题 A. Love Triangle time limit per test 1 second ...
- python类模拟电路实现
实现电路: 实现方法: class LogicGate(object): def __init__(self, n): self.name = n self.output = None def get ...
- Vue监控器watch的全面解析
前言 前面讲到了计算属性computed,这次讲的是监控器watch,主要任务就是监控变量的变化 正文 watch是一个对象,键是需要观察的表达式,值是对应回调函数.值也可以是方法名,或者包含选项的对 ...
- Python实现MQTT接收订阅数据
一.背景 目前MQTT的标准组织官网:http://www.mqtt.org,里面列出了很多支持的软件相关资源. 一个轻量级的MQTT服务器是:http://www.mosquitto.org,可以运 ...
- 目标检测论文解读1——Rich feature hierarchies for accurate object detection and semantic segmentation
背景 在2012 Imagenet LSVRC比赛中,Alexnet以15.3%的top-5 错误率轻松拔得头筹(第二名top-5错误率为26.2%).由此,ConvNet的潜力受到广泛认可,一炮而红 ...
- 酷睿i3-9100F简单评测
酷睿i3-9100F 四核四线程,三级缓存6MB,基础频率3.6GHz,可睿频到4.2GHz,性能上接近于七代的酷睿i5-7600K 四核四线程.
- LNK1104 无法打开文件“xxx.lib”
尝试解决方法: 1.找到这个库,把这个库移动到特定的文件夹下,在属性中添加这个库: 具体来说:打开VS项目->项目属性->配置属性->C/C+±>附加包含目录->编辑-& ...