分享
 
 
 

Oracle Optimizer:迁移到使用基于成本的优化器-----系列1.2

王朝oracle·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

Oracle Optimizer:迁移到使用基于成本的优化器-----系列1.2

3.2基于成本的优化器(CBO)

基于成本优化器遵循计算代价的方法学。所有的执行计划随成本标识,优化器选择成本最低的一个。在执行计划中,较高的成本将意味着较高的资源。成本越低,对查询来说越高效。

CBO使用所有存储在数据字典中可用的统计资料信息和柱状图,用户提供提示和的参数设置来达成使用的成本,CBO生成所有可能访问方法的排列然后选择最合适的。排列的数量依赖于查询中出现的表数量,有时能达到约80,000个排列甚至更多,请参考系列的第二部分参数章节来设置相关参数。

CBO也可能完成诸如查询转换、视图合并或转换的操作,增加join谓词等等。

这将改变原始语句并改变正存在或者是新添加的谓词,得自新的访问计划的所有的这些目的会比原来存在的好些。注意转换并不影响返回的数据,而仅仅是执行路径,请参考系列第二部分参数章节相关联的信息。

3.2.1统计资料

统计资料按顺序提供了准确的输入以供CBO正常工作;生成的数据存储在对象中并且包括诸如表中行的数量、列中单一值、索引中页的块数等等信息。统计资料越准确,优化器提供的结果越高效。请参考本系列第三部分生成统计资料章节中怎样生成这些信息和如何最好地维持它。统计资料可能是精确的或估计的,它用COMPUTE 子句分析在对象中所有的数据,它将给优化器精确的信息以工作并且达到完美的执行计划。

用ESTIMATE子句,将会分析在对象中提及的样本大小的数据内容从而生成统计资料,样本大小会被指定成随机分析的行的数量或者行的百分比从而生成统计资料,也可以指定可选的块样例,如果系统中存在巨额表数据,它将节约时间。

好的执行计划的前提依赖于估计值和精确值有多接近,可以试验一下设置不同的样本大小来达到适合的目标或对不同类型的表产生不同的评估级别,这种思想对达到接近精确统计是相当可行的。

统计资料存储在所有者为SYS用户的数据词典中,下面的视图显示了表、列,索引的收集统计信息.

表:

DBA_TABLES

NUM_ROWS –行的数量

BLOCKS – 已用的块数量

EMPTY_BLOCKS –未使用的空块数量

AVG_SPACE – 分配给表的平均自由空间(以字节计),考虑所有空的和自由的块.

CHAIN_CNT – 链连或移动的行的数量

AVG_ROW_LEN –以字节计的平均行的长度

LAST_ANALYZED – 上次表分析的日期

SAMPLE_SIZE –提供给ESTIMATE统计的样本大小,对于COMPUTE则等于NUM_ROWS列的值.

GLOBAL_STATS –对于分区表, YES –收集统计资料将作为一个整体, NO –收集统计资料将估计表

USER_STATS –如果用户指明为表设置统计,则为YES

对于一个表的单独分区的统计资料从DBA_TAB_PARTITIONS可以找到,簇统计资料从DBA_CLUSTERS可以找到.

DBA_TAB_COLUMNS

NUM_DISTINCT – 单一值的数量

LOW_VALUE –最小值

HIGH_VALUE – 最高值

DENSITY – 列的聚集度.

NUM_NULLS –涉及列空值的记录数

NUM_BUCKETS – 柱状图中柱的数量,参考柱状图章节

SAMPLE_SIZE –ESTIMATE统计提供的样本大小,如果是COMPUTE则等于全部行数

LAST_ANALYZED -上次表分析的日期

DBA_TAB_COL_STATISTICS 显示相似的数据,–对于分区表列统计资料从DBA_PART_COL_STATISTICS和DBA_SUBPART_COL_STATISTICS可以找到

索引

DBA_INDEXES

BLEVEL –索引的深度,从根级到叶级

LEAF_BLOCKS –页级块的数量.

DISTINCT KEYS – 单一键值的数量

AVG_LEAF_BLOCKS_PER_KEY –每一个单一键值出现的平均数量对于独特索引应该为1

AVG_DATA_BLOCKS_PER_KEY –单一键值指向的表中块的平均数量

CLUSTERING_FACTOR –决定行按索引排序的总数.如果数量靠近块的数量,则该表是按照索引顺序排序的,也就是说,页未级的的全部指向表中同一块的行.如果索引与行数接近,索引会随机排序, 也就是说, 页未级的的全部是分散指向多个块的行。

NUM_ROWS – 索引行数

SAMPLE_SIZE - ESTIMATE统计提供的样本大小,如果是COMPUTE则等于全部行数

LAST_ANALYZED -上次表分析的日期

GLOBAL_STATS对于分区表, YES –收集统计资料将作为一个整体, NO –收集统计资料将估计表

USER_STATS如果用户指明为表设置统计,则为YES

PCT_DIRECT_ACCESS –索引组织表的次要索引,有效猜测行的百分比

单一分区索引统计可从DBA_IND_PARTITIONS 和DBA_IND_SUBPARTITIONS找到

涉及到柱状图信息的数据词典以后将会讨论. (待续)

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有