最近买了一本书叫做基于成本的优化,里面讲CBO和RBO。我是oracle初学者,不知道是什么用,也不只要优化器有什么用,哪位大虾能指点下,谢谢!!
解决方案 »
- orcale
- 如何减小表空间大小?
- oracle如何获取当前网络可用的服务器?
- win7(64bit)在安装Oracle_11G时, PATH 环境变量的长度这个问题解决不了,还望各位高手帮忙解决下。谢谢了....
- 求助...in里的内容如何动态...
- shutdown abort后出现Ora-00439:feature not enabled:Real Application Clusters错误,怎么解决,
- 你是计算机专业的学生,想学好数据库,请教电子资料
- 一个数据表中记录关于日期的问题...在线等待啊
- 一个关于排序的问题,急用!~~~~谢谢
- 怎么取消用户的创建视图的权限
- PCTFREE和PCTUSED区别
- hash join概念
如果实在不懂的话,看看这吧:
http://www.google.cn/search?hl=zh-CN&newwindow=1&q=oracle+cbo+rbo&btnG=Google+%E6%90%9C%E7%B4%A2&meta=&aq=1&oq=oracle+cbo+
CBO是基于成本的优化,会动态根据你的SQL,要取的数据量等制定最优方案来执行用个形象的比喻一个南北公路,五车道
在初次投入时,预测是南向北车多,所以三车道,反方向,两车道运行了一段时候,发现车流方向不一样,怎么办,那化功夫变车道然后现过了段时候,发现其实每天每个时段的两个方向的车流不一样,那怎么办呢,发明一种自动变车道的,哪个方向车多,哪个方向的车道就多这个可以看RBO和CBO的来历,RBO就相当于初期制定的车道方案,CBO就相当后面的自动变车道
CBO是基于成本的优化我举个例子,很多人会认为一个查询走索引快,对吗?不完成对,70%-80%的语句走索引会快,但另外的就会慢,最常见的就是当你的数据量占总数据的百分比足够大时,反而会是全表扫描比索引快而基于RBO的,这时候会去走索引,而CBO不会
另外RBO对书写等有一定要求,书写顺序不对,会造成效率降低
CBO是Oracle推荐使用的优化器
不过Oracle本身很多产品仍然在使用RBO
如果开发人员对SQL的优化把握很好,那么自己用hint来制定优化方式也是不错的.
谢谢楼上,我现在就是想学深一点的东西,买了这本书,就想研究下他。我现在想先从分析执行计划入手,正在研究执行计划。呵呵···
CBO是基于成本的优化 初学者最好把基础的东西先学好
除了DDL和DML还有什么?请告诉我一下,谢谢。
说明:我觉得我的DDL和DML都还算过关的吧,因为我之前是用sql server 2000,有点基础,所以这半年学这个东西还是挺快的请告诉我我还要学习的基础是哪些???
谢谢