`
Fred_Han
  • 浏览: 144324 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Oracle 表分析说明

阅读更多

一、     表分析概念

1.  简单的说,就是收集表和索引的信息,CBO(SQL优化器)根据这些信息决定SQL最佳的执行路径。通过对表的分析,可以产生一些统计信息,通过这些信息oracle的优化程序可以优化。

1)     收集统计信息的目的是为了使基于 CBO(SQL优化器)的执行计划更加准确。

2)     分析的结果数据[all_tables]有什么用,要看Oracle初始化参数 optimal_mode 怎么设置的。

3)     分析更新表的统计信息,,有可能导致执行计划改变

2.  analyzedbms_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, to:

--使用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 动态性能表的详细说明

    ORACLE常用分析函数说明

    ORACLE常用分析函数说明,oracle优化

    Oracle数据块结构分析说明BLOCK结构详解

    Oracle数据块结构分析说明BLOCK结构详解,讲解块结构,并且附有实例说明,对块的存储方式进行详细说明

    oracle Rule分析及说明文档.doc

    Rule分析及说明文档

    ORACLE分析函数大全

    文档详细介绍了oracle的分析函数,包括功能说明、sql示例等。分析函数功能强大,在报表或数据迁移的时候可能会使用到。分析函数用法看上去有点复杂,最好使用的时候,参考文档

    oracle索引分析说明

    详细介绍oracle数据库索引使用情况,索引存储原理

    Oracle 数据库监听分析及其说明

    Oracle数据库监听,为数据库的运行状态,向外连接提供了时时通讯方法,就犹如房屋中介一般,为租客与房东提供相互所需要的信息!

    Oracle中用LogMiner分析重做及归档日志

    LogMiner是集成在Oracle8i/Oracle9i数据库产品中的日志分析工具,通过该工具可以分析重做日志和归档日志中的所有...本文以Oracle8i(8.1.5)for Windows 2000/NT为例说明如何使用LogMiner对重做日志和归档日志进行分析。

    Oracle对查询语句的分析过程

    描述了一条查询语句,到Oracle的处理过程。附带了Oracle的缓存,锁的简单说明。

    Oracle RAC说明书

    详细介绍了Oracle RAC相关知识,对一些常见误解进行了解释和分析。

    Spotlight For Oracle使用说明

    主要包括Spotlight on Oracle软件的使用,和软件性能分析功能的介绍等等

    oracle数据块结构分析说明

    讲解块结构,并且附有实例说明,对块的存储方式进行详细说明

    深入分析oracle日志文件

    该文件提供了oracle日志文件的分析方法,能够从日志中追查相关操作,并进行恢复工作。

    oracle分析函数的使用说明

    oracle数据库分析函数的使用 分析函数在数据库开发中使用非常广泛,要熟练使用分析函数需要一个长期实践的过程,我对分析函数中常用到的函数做了一些归纳,希望大家喜欢!

    oracle10g之统计与分析函数

    这是关于oracle10g的统计与说明的函数说明

    oracle基础教程

    oracle基础教程 课程说明 1 课程介绍 1 课程目标 1 相关资料 1 第1章 ORACLE数据库概述 2 ...4.14 怎样分析ORACLE故障 59 小结 61 附录A ORACLE数据字典与视图 62 附录B 动态性能表 68 附录C SQL语言运算符与函数 70

    oracle热备份原理分析

    oracle热备份原理分析介绍了备份的基本理论及在备份进行时的详细说明以及介绍了备份的几种方式。

    Oracle常用分析诊断工具.pdf

    本文介绍了Oracle常用分析...在测试通过的基础上,采用讲解结合实例的方式,对分析诊断工具方法、命令、步骤和关键点进行了说明和讲解,读者只需按照本文进行学习,即可完成Oracle常用分析诊断工具的初步学习和掌握。

    Oracle数据库学习指南

    24.理解和使用Oracle 8i分析工具-LogMiner 25.哪些初始化参数最影响Oracle系统性能 26.你的SQL语句在什么情况下使用全表扫描? 27.如何对CLOB行字段执行全文检索 28.如何让你的SQL运行得更快 29.如何使...

Global site tag (gtag.js) - Google Analytics