Oracle中CBO优化器简介
Oracle中CBO优化器简介
Oracle数据库中的优化器是SQL分析和执行的优化工具。它负责制定SQL的执行计划,也就是它负责保证SQL的执行计划的效率最高,比如优化器决定Oracle以什么样的方式访问数据,优化器是SQL执行的核心,它作出的执行计划的好坏,直接影响着SQL的执行效率。
1、执行计划中数据的访问方式:
直接表(无索引)的访问:并行
多数据块
通过索引访问:index unique scan(=唯一值)
Index range scan(<,>范围)
Index full scan(order by, <>)
2、执行计划中数据的关联处理:
Nested loop join:嵌套循环
Merge join:先将表排序
Hash join:hash定位
CBO优化器有两者可以选择的运行模式:
First_rows(n)
All_rows
3、First_rows(n)模式
当设置为first_rows(n)模式时,Oracle在执行SQL时,会优选考虑将结果集的前N条记录以最快的速度反馈回来,而其他的结果并不需要同时返回。这种设置常用于一些电子商务网站或者BBS论坛的分页处理。
需要注意的是order 不要的字段必须创建索引。否则Oracle会忽略first_rows而选择使用all_rows。
4、All_rows模式
当设置为all_rows()模式时,Oracle会以最快的速度将全部的SQL执行完毕,并将所有的结果集反馈回来。All_rows模式在OLAP系统中用的比较多,all_rows强调SQL整体的执行效率,而first_rows(n)强调以最快的速度返回前n行,而不管所有结果返回的时长,可能最后一条记录要很长时间之后才能获得。
Oracle中CBO优化器简介的更多相关文章
- Oracle SQL优化器简介
		
目录 一.Oracle的优化器 1.1 优化器简介 1.2 SQL执行过程 二.优化器优化方式 2.1 优化器的优化方式 2.2 基于规则的优化器 2.3 基于成本的优化器 三.优化器优化模式 3.1 ...
 - oracle里的优化器
		
1.1 oracle里的优化器 RBO(Rule-Based-Optinizer):基于规则的优化器 CBO(Cost-Based-Optinizer): 基于成本的优化器 SQL语句执行过程 待执行 ...
 - Oracle性能优化之 Oracle里的优化器
		
优化器(optimizer)是oracle数据库内置的一个核心子系统.优化器的目的是按照一定的判断原则来得到它认为的目标SQL在当前的情形下的最高效的执行路径,也就是为了得到目标SQL的最佳执行计划. ...
 - CBO优化器实用理解
		
对于CBO的理解: RBO-----基于规则的优化器 CBO-----基于代价的优化器 CBO计算执行计划的代价(cost),并从中选择cost最低的执行方案,它依赖数据库对象的统计信息,统计信息的及 ...
 - 分享:SQL优化器简介
		
SQL优化是我们经常会遇到的问题,无论你是专职的数据分析人员还是全栈开发大神或者是CURD搬运工. 我们在工作中经常会听到这样的声音:“查询慢?加个索引吧”.虽然加索引并不一定能解决问题,但是这体现了 ...
 - SQL优化器简介
		
文章导读: 什么是RBO? 什么是CBO? 我们在工作中经常会听到这样的声音:"SQL查询慢?你给数据库加个索引啊".虽然加索引并不一定能解决问题,但是这初步的体现了SQL优化的思 ...
 - 【Oracle】CBO优化详解
		
SQL优化是数据优化的重要方面,本文将分析Oracle自身的CBO优化,即基于成本的优化方法.Oracle为了自动的优化sql语句需要各种统计数据作为优化基础.外面会通过sql的追踪来分析sql的执行 ...
 - oracle中sql优化
		
问题描述:刚开始做项目的时候没啥感觉,只用能出来结果,sql随便写,但是后来用户的数据量达到几万条是,在访问系统,发现很多功能加载都很慢,有的页面一个简单的关联 查询居然要花费30多秒,实在是不能忍, ...
 - Tensorflow 中的优化器解析
		
Tensorflow:1.6.0 优化器(reference:https://blog.csdn.net/weixin_40170902/article/details/80092628) I: t ...
 
随机推荐
- 【BZOJ 3812】 3812: 主旋律 (容斥原理**)
			
3812: 主旋律 Time Limit: 10 Sec Memory Limit: 256 MBSubmit: 235 Solved: 196 Description 响应主旋律的号召,大家决定 ...
 - android remoteView
			
韩梦飞沙 韩亚飞 313134555@qq.com yue31313 han_meng_fei_sha remoteView 可以在 appWidget 和 notification 中 使 ...
 - python3-开发进阶  django-rest framework 中的 版本操作(看源码解说)
			
今天我们来说一说rest framework 中的 版本 操作的详解 首先我们先回顾一下 rest framework的流程: 请求进来走view ,然后view调用视图的dispath函数 为了演示 ...
 - 解决Android-studio假死机建议
			
背景 终于第一个ios app发布应用商店送审了,这下也有时间把以前写的android更新一版,但是很久没遇到的as假死机问题又各种折腾了一天..最终解决的方法实在是让人忍无可忍,实在是想写下来给那些 ...
 - fir.im Weekly - 嘘,关于***!
			
上 Github 交友刷 StackOverflow 解惑,是攻城狮必备技能,加快打怪练级速度.关于,@左耳朵耗子 在微博上分享了一篇文档,轻一点教你建一个VPN服务器,重一点到教你在路由器上***, ...
 - JSONObject 和 JSONArray 的区别和用法
			
JSONObject 和 JSONArray 的数据表现形式不同: JSONObject的数据是用 { } 来表示的,例如: { "id" : "1", &q ...
 - Shell基础学习(七) 输入输出重定向
			
命令 说明 command>file 将输出重定向到file command<file 将输入重定向到file command >> file 将输出追加到file n > ...
 - oracle linux  7.3 dtrace 安装
			
[root@localhost dtrace]# uname -r -.el7uek.x86_64 [root@localhost dtrace]# cat /etc/oracle-release O ...
 - .net程序保护方式大观
			
.net软件保护方式大观 最近调试一个运行于.net 2.0下的软件,发现该软件使用的保护方式很具有代表性,基本囊括了现在.net下的所有保护措施.实践证明,这些保护措施就像全真七子,单打独斗功力差了 ...
 - 使用apache htpasswd生成加密的password文件,并使用.htaccess控制文件夹訪问
			
htpasswd 是apache的小工具.在apache安装文件夹bin下可找到. Usage: htpasswd [-cmdpsD] passwordfile username htpasswd - ...