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.数据库架构师等职,多年一线数据库架构. ...
随机推荐
- 禁用,移除 WPF window窗体系统操作SystemMenu
public static class SystemMenuManager { [DllImport("user32.dll", EntryPoint = "GetSys ...
- PIE属性表多字段的文本绘制
最近研究了PIE SDK文本元素的绘制相关内容,因为在我们的开发中,希望可以做到在打开一个Shp文件后,读取到属性表的所有字段,然后可以选择一些需要的字段,将这些字段的所有要素值的文本,绘制到shp图 ...
- Python - 迭代器与生成器 - 第十三天
Python 迭代器与生成器 迭代器 迭代是Python最强大的功能之一,是访问集合元素的一种方式. 迭代器是一个可以记住遍历的位置的对象. 迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问 ...
- Scrapy-Splash简介及验证码的处理(一)
目录 一:Splash简介与准备 二:验证码的识别(1) 在之前的博客中,我们学习了selenium的用法,它是一个动态抓取页面的方法,但是,动态抓取页面还有其他的方法,这里介绍Splash方法, ...
- IOC : Unity 配置和使用
原文出自:IOC : Unity 配置和使用 之前Terry Lee 已经介绍过Unity的简单使用了,不过那篇文章是针对旧版本的,现在的版本1.2版略有不同. 我下载了Unity并做了一个简单的测试 ...
- Webpack相关原理浅析
基本打包机制 本质上,webpack 是一个现代 JavaScript 应用程序的静态模块打包器(module bundler).当 webpack 处理应用程序时,它会递归地构建一个依赖关系图(de ...
- 新手入门必看:VectorDraw 常见问题整理大全(一)
VectorDraw Developer Framework(VDF)是一个用于应用程序可视化的图形引擎库.有了VDF提供的功能,您可以轻松地创建.编辑.管理.输出.输入和打印2D和3D图形文件.该库 ...
- Android源码分析(六)-----蓝牙Bluetooth源码目录分析
一 :Bluetooth 的设置应用 packages\apps\Settings\src\com\android\settings\bluetooth* 蓝牙设置应用及设置参数,蓝牙状态,蓝牙设备等 ...
- 汇编之JCC指令
版权声明:本文为博主原创文章,转载请附上原文出处链接和本声明.2019-09-06,21:59:16.作者By-----溺心与沉浮----博客园 JCC指令决定它跳不跳转跟别的没关系,只跟EFLAG标 ...
- 关于苹果macOS更新到Catalina后出现的各种问题(持续更新)
一.Mac系统更新后 Git 不能用,提示 missing xcrun at:xxx xcrun: error: invalid active developer path (/Library/Dev ...