文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

oracle常用hint是怎样的

2024-04-02 19:55

关注

oracle常用hint是怎样的,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

1. 
希望优化程序给出一种尽快得到全部记录的执行计划,目标是增加系统的吞吐量。

2.
希望优化程序给出一种可以迅速的得到第一行的执行计划,目标是减少系统的响应时间。

3.
表明对表选择全局扫描的方法.

4.
表明对表选择索引的扫描方法.

5.
表明对表选择索引升序的扫描方法.

6.
表明对表选择索引降序的扫描方法. 

7.
从索引中取得ROWID信息,通过BITMAP CONVERSION FROM ROWIDS转换成位图,再通过BITMAP AND把多个位图信息
组合并匹配,得到的位图信息再经过BITMAP CONVERSION TO ROWIDS转换成ROWID,然后访问表或者直接返回数据。

8.
index_join的工作原理:
index_join的前提条件是查询的数据都可以用索引中得到,Oracle通过hash index join方式对索引
数据进行处理并直接返回,从而避免了对表的访问。index_join使用的索引可以是唯一索引,也可以是多列索引。
index_join的限制条件:
1.查询的数据都可以用索引中得到。
2.谓词条件中不能存在非索引列的谓词

9.
index fast full scan使用多块读的方式读取索引块,产生db file scattered reads 事件,读取时高效,但为无序读取。
index full scan使用单块读方式有序读取索引块,产生db file sequential reads事件,当采用该方式读取大量索引全扫描,效率低下

10.
从9i开始,oracle引入了这种索引访问方式。当在一个联合索引中,某些谓词条件并不在联合索引的第一列时,可以通过Index Skip Scan来访问索引获得数据。当联合索引第一列的唯一值个数很少时,使用这种方式比全表扫描效率高。

11. 
在多表关联查询中,指定哪个表作为驱动表,即告诉优化器首先要访问哪个表上的数据。

12. 
让Oracle根据from后面表的顺序来选择驱动表,oracle建议使用leading,他更为灵活  

13.  
在多表关联查询中,指定使用nest loops方式进行多表关联。

14.  
在多表关联查询中,指定使用hash join方式进行多表关联。 

15. 
在多表关联查询中,指定使用merge join方式进行多表关联.

16. 
在sql中指定执行的并行度,这个值将会覆盖自身的并行度

17. 
在sql中指定执行的不使用并行

18.
以直接加载的方式将数据加载入库 

19. 
设置sql执行时动态采用的级别,这个级别为0~10

20. 
进行全表扫描时将table置于LRU列表的最活跃端,类似于table的cache属性

21.     
通常使用在Exists,in 子查询中

22.    
or的扩展和不扩展

23.  
禁止对查询块的查询重写操作.  
  
按物化视图对语句进行重写

24.      
能够对视图的各个查询进行相应的合并.  

25. UNNEST 和 NO_UNNEST 
强制Oracle将子查询和主查询合并

26.NO_QUERY_TRANSFORMATION
跳过所有查询转换,包括OR操作转换、视图合并、子查询和主查询合并、星型转换、物化视图语句重写等。

27.
那么push_subq就是为了让子查询最先进行join。
select hao1.object_name from 
hao1,hao2,hao4
where hao1.object_name like '%a%'
and hao1.object_id+hao2.object_id>50
and hao4.object_type=hao1.object_type
and 11 in
(SELECT hao3.object_id FROM hao3 WHERE hao1.object_id = hao3.object_id);

28.
接着,我们来使用这里的hint push_pred强制优化器将谓词merge进view中,可见到“VIEW PUSHED PREDICATE”:
select hao3.object_name 
from hao3,haoview
where hao3.object_name=haoview.object_name(+)
and hao3.object_id=999;

29.
提示通常被用于提升数据仓库中分区表间的连接操作性能。

30. CURSOR_SHARING_EXACT 
阻止Oracle将SQL语句中的常量替换为绑定变量.

31.DRIVING_SITE 
强制Oracle在SQL语句发起的另外一个节点上执行

32.DYNAMIC_SAMPLING 
强制Oracle进行动态统计数据采样,采样率参数为0到10,值越大,动态采样数据越多。

33.RESULT_CACHE NO_RESULT_CACHE 
强制Oracle将当前查询结果集缓存在RESULT CACHE中 

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注亿速云行业资讯频道,感谢您对亿速云的支持。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯