楼主: eygle

[精华] 一次分析的全过程,和大家交流!

[复制链接]
论坛徽章:
21
ITPUB元老
日期:2005-02-28 12:57:002012新春纪念徽章
日期:2012-02-13 15:11:182012新春纪念徽章
日期:2012-02-13 15:11:182012新春纪念徽章
日期:2012-02-13 15:11:182012新春纪念徽章
日期:2012-02-13 15:11:18马上有车
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有对象
日期:2014-02-19 11:55:142012新春纪念徽章
日期:2012-02-13 15:11:18
11#
发表于 2003-1-23 00:52 | 只看该作者
这种事情没有一定之归的。什么样实现效率高,就怎么样实现。

你的情况,或许你换一个Vendor——code,结果就截然不一样了。

使用道具 举报

回复
论坛徽章:
21
ITPUB元老
日期:2005-02-28 12:57:002012新春纪念徽章
日期:2012-02-13 15:11:182012新春纪念徽章
日期:2012-02-13 15:11:182012新春纪念徽章
日期:2012-02-13 15:11:182012新春纪念徽章
日期:2012-02-13 15:11:18马上有车
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有对象
日期:2014-02-19 11:55:142012新春纪念徽章
日期:2012-02-13 15:11:18
12#
发表于 2003-1-23 00:53 | 只看该作者
实际上对CBO有影响的参数有好多个, 默认的方式,似乎是更加倾向于all_rows的结果。

使用道具 举报

回复
论坛徽章:
33
ITPUB元老
日期:2005-09-16 10:42:482012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:20版主3段
日期:2012-05-15 15:24:11马上有车
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14
13#
发表于 2003-1-23 01:39 | 只看该作者
虽然看不太懂,但是先收藏之,比着书再看这个范例
版主辛苦了!!谢谢!!

虽然说具体情况具体分析,起码这里给出了一个解决问题的思路,学习之!!

使用道具 举报

回复
论坛徽章:
0
14#
发表于 2003-1-23 08:36 | 只看该作者
oracle学习中,还没有看到性能调优,但是觉得这个分析的思路挺不错的,
收藏之,谢谢斑竹。
如此多的高手,愈加坚定了我学习oracle的决心。

使用道具 举报

回复
论坛徽章:
117
ITPUB元老
日期:2005-02-28 12:57:002012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:20版主7段
日期:2012-05-15 15:24:11ITPUB 11周年纪念徽章
日期:2012-09-28 17:34:42ITPUB 11周年纪念徽章
日期:2012-10-09 18:03:32紫蛋头
日期:2013-03-04 17:00:07优秀写手
日期:2013-12-18 09:29:09
15#
 楼主| 发表于 2003-1-23 09:01 | 只看该作者
最初由 chao_ping 发布
[B]这种事情没有一定之归的。什么样实现效率高,就怎么样实现。

你的情况,或许你换一个Vendor——code,结果就截然不一样了。 [/B]


是会有所不同,但是执行计划是需要稳定的,几个全表扫描是明显错误的选择。

在其他更为难办的地方,我使用了outline

使用道具 举报

回复
论坛徽章:
1
授权会员
日期:2005-10-30 17:05:33
16#
发表于 2003-1-23 09:07 | 只看该作者
eygle:
     请详细介绍如何得出的 execution plan and statistics 结果,是否是从表 plan_table 中?

使用道具 举报

回复
论坛徽章:
117
ITPUB元老
日期:2005-02-28 12:57:002012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:20版主7段
日期:2012-05-15 15:24:11ITPUB 11周年纪念徽章
日期:2012-09-28 17:34:42ITPUB 11周年纪念徽章
日期:2012-10-09 18:03:32紫蛋头
日期:2013-03-04 17:00:07优秀写手
日期:2013-12-18 09:29:09
17#
 楼主| 发表于 2003-1-23 09:08 | 只看该作者
缺省的,CBO的确是使用ALL_ROWS

quote
- ALL_ROWS - this is the default costing model.            
Access methods are chosen based on their relative costs. This model            
attempts to return all the required rows as quickly as possible.            
This may compromise the speed that the first row is returned.          

- FIRST_ROWS - this is a modified version of ALL_ROWS. Access methods            
are still chosen based on their relative costs but emphasis is            
placed on methods that return the initial rows more quickly. It is            
more likely that indexes will be chosen under FIRST_ROWS.         

-By default, CBO uses 'ALL_ROWS' costing. [/COLOR]

Good Metalink article:

http://metalink.oracle.com/metal ... OT&p_id=35934.1

使用道具 举报

回复
论坛徽章:
117
ITPUB元老
日期:2005-02-28 12:57:002012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:20版主7段
日期:2012-05-15 15:24:11ITPUB 11周年纪念徽章
日期:2012-09-28 17:34:42ITPUB 11周年纪念徽章
日期:2012-10-09 18:03:32紫蛋头
日期:2013-03-04 17:00:07优秀写手
日期:2013-12-18 09:29:09
18#
 楼主| 发表于 2003-1-23 09:25 | 只看该作者
最初由 huang0905 发布
[B]eygle:
     请详细介绍如何得出的 execution plan and statistics 结果,是否是从表 plan_table 中? [/B]


Yeah, 是通过autotrace从plan_table里得出的执行计划!

see this basic article:

http://osi.oracle.com/~tkyte/article1/autotrace.html

使用道具 举报

回复
论坛徽章:
4
ITPUB元老
日期:2005-02-28 12:57:00授权会员
日期:2005-10-30 17:05:33管理团队2006纪念徽章
日期:2006-04-16 22:44:45会员2006贡献徽章
日期:2006-04-17 13:46:34
19#
发表于 2003-1-23 11:39 | 只看该作者
其实对某些情况,进行全表扫描也有可能就是最快的查询。具体情况,关于sql的优化,我们再讨论吧。

使用道具 举报

回复
论坛徽章:
4
ITPUB元老
日期:2005-02-28 12:57:00授权会员
日期:2005-10-30 17:05:33会员2006贡献徽章
日期:2006-04-17 13:46:34ITPUB技术丛书作者
日期:2010-09-26 15:24:56
20#
发表于 2003-1-23 11:53 | 只看该作者
我的理解:

eygle给我们一种思考问题的思路,固然没什么事一成不变得,但是要有好的应变思路就很重要了。还有一句话,见多识广。

关于CBO和RBO,各自的特点很多书籍和资料都有记载,但是灵活应用他们就是各自的本领了,再有,RBO逐渐推出舞台,或许意味着我们的一些思路可以拓宽和上前一步看问题了。

学无止境

BTW:
全表扫描和索引扫描也都不是绝对的,也是不同的情况不同的处理,比如说结果集的情况不同,呵呵,强烈呼吁类似的帖子多多益善!

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表