如何进行Oracle表分析
温馨提示:这篇文章已超过543天没有更新,请注意相关的内容是否还可用!
通开发云主机域名过对表的分析,可以产生一些统计信息,通过这些信息oracle的优化程序可以优化。1) 收集统计信息的目的是为了使基于 CBO的执行计划更加准确。2) 分析的结果数据[all_tables]有什么用,要看Oracle初始化参数 optimal_mode 怎么设置的。《如何进行Oracle表分析》来自互联网同行内容,若有侵权,请联系我们删除!
这篇文章将为大家详细讲解有关如何进行Oracle表分析,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。一、 表分析概念1.简单的说,就是收集表和索引的信息,CBO根据这些信息决定SQL最佳的执行路径。通开发云主机域名过对表的分析,可以产生一些统计信息,通过这些信息oracle的优化程序可以优化。1) 收集统计信息的目的是为了使基于 CBO的执行计划更加准确。2) 分析的结果数据[all_tables]有什么用,要看Oracle初始化参数 optimal_mode 怎么设置的。3) 分析更新表的统计信息,,有可能导致执行计划改变2.用analyze或dbms_stats包做统计表的的分析,分析可以判断表的使用情况,比如行迁移情况、表的资料量情况等,如:1) select * from all_tables where table_name=’TEMP_TABLE’;(表名一定要大写)如果对该表没有做过统计分析,则查询的大部分栏位值都为空2) analyze table tableName compute statistics;执行时间与表的数据量有关3) select * from all_tables where table_name=’ TEMP_TABLE ‘;之前为空的部分字段,现在查询已经有值3.oracle的联机文档描述了analyze的做用:Use the ANALYZE statement to collect non-optimizer statistics, for example, t开发云主机域名o:—使用analyze功能可以收集一些没有进行优化的统计信息,例如:Collect or delete statistics about an index or index partition, table or table partition,—聚集或删除索引或索引分区,表或表分区index-organized table, cluster, or scalar object attribute.—索引表,串,或游标的目标属性等统计信息Validate the structure of an index or index partition, table or table partition, index-organized table,—增加下列结构的有效性:索引或索引分区,表或表分区,索引表cluster, or object reference (REF).—串,目标参照Identify migrated and chained rows of a table or cluster.—鉴别一个表或串中已经被移动的抑或被锁住的列。4.dbms_stats包的作用主要是替代analyze的收集统计信息这一块的功能,且在这一方面做了相当大程度上的增强。5.带有ESTIMATE选项的ANALYZE操作对于一 些表能够产生不正确的结果,尤其是那些取样较小的表。这不是个BUG,而是每个统计取样方法的特性。如果所选取样不能代表整个数据集,你就不能期 待产生正确的统计。6. 统计分析,在Oracle 开发云主机域名10G中能够保存列值的分布信息7. 在考虑表分析时,需要考虑如下问题:1) 对一个带索引的表的ANALYZE,将分析其相关索引。2) 如果你对一个表进行ANALYZE … ESTIMATE 分析,那么然后在其相关索引上做ANALYZE COMPUTE分析是很明智的。这样可以确保被索引字段的统计是准确的。3) 分析索引不用到临时表空间4) 如果分析一个索引而不分析其基表,在这一单一基础上CBO不会被选中如果你需要使用ESTIMATE- 估计(例如,由于时间的限制),建议你在几个不同的取样大小上进行 ANALYZE … ESTIMATE, 来 确定每个对象的理想的取样大小。总的目标是找到一个能在最短的时间内产生准确的统计的取样大小。较好的开始点是 10% – 15%5) 进行超过50%的ANALYZE … ESTIMATE 就会导致/变成ANALYZE … COMPUTE关于如何进行Oracle表分析就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
本文从转载,原作者保留一切权利,若侵权请联系删除。
《如何进行Oracle表分析》来自互联网同行内容,若有侵权,请联系我们删除!
