解释计划中成本等字段为什么没有值?

[复制链接]
查看11 | 回复9 | 2007-4-9 01:02:53 | 显示全部楼层 |阅读模式
使用CBO来进行解释计划,但得到的解释计划中成本、行数、字节等都没有值啊,这是为什么啊?
还有个奇怪的问题,我使用oracle的sql scratchpad中的SQL解释计划,打开后上面显示 计划:RULE,默认的不是cbo吗,这里怎么变成RBO了,怎么改它呢?
有人遇到相同的问题吗?
回复

使用道具 举报

千问 | 2007-4-9 01:02:53 | 显示全部楼层
你何不把你遇到的问题重现一下,这样比较直观。
回复

使用道具 举报

千问 | 2007-4-9 01:02:53 | 显示全部楼层
表没有进行分析!
回复

使用道具 举报

千问 | 2007-4-9 01:02:53 | 显示全部楼层
有可能,我分析一下试试看。
analyze table ... compute statistics;
analyze table ... compute statistics for all indexes;
的速度超慢啊,主要是表中数据太大了
回复

使用道具 举报

千问 | 2007-4-9 01:02:53 | 显示全部楼层
你用什么用户执行的,sql语句的执行计划察看不能使用sys用户,如果使用sys用户的话,出来的执行计划中的statistic都是为0的
回复

使用道具 举报

千问 | 2007-4-9 01:02:53 | 显示全部楼层
谢谢,问题找到了。
要想得出cost,card,bytes等统计结果首先要用
analyze table ... compute statistics分析一下。
但还有一个问题,这里的分析主要进行什么工作,为什么需要这么长的时间,对增加SQL速度有帮助吗,还是只是为DBA提供一下统计数据供参考,以方便调整SQL。
回复

使用道具 举报

千问 | 2007-4-9 01:02:53 | 显示全部楼层
更多的时候是给ORACLE看的!
回复

使用道具 举报

千问 | 2007-4-9 01:02:53 | 显示全部楼层
对超大表的analyze有什么好的建议吗?
它分析的速度太慢了
回复

使用道具 举报

千问 | 2007-4-9 01:02:53 | 显示全部楼层
Oracle现在默认不就是CBO吗,CBO的analyze不能自动进行吗,如果一张表很大,analyze的速度很慢,难道CBO就没有办法进行下去了吗?
请高手解答!!!!
回复

使用道具 举报

千问 | 2007-4-9 01:02:53 | 显示全部楼层
9i 以上的版本默认 optimizer_mode=choose. 它通常根据统计数据的存在与否来确定调用哪一个优化器.如果统计数据不存在的话,那么oracle 将使用rule 模式 ,如果统计数据存在的话 那么就使用cbo 模式了.
分析要是表数据量大,那是分析时间久点,
回复

使用道具 举报

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

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行