`
Fred_Han
  • 浏览: 148130 次
  • 性别: 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动态性能表主要由一系列以“V$”开头的视图组成,如V$SESSION、V$SYSTEM_EVENT、V$BUFFER_CACHE等。每个V$视图代表一...

    ORACLE常用分析函数说明

    ORACLE 常用分析函数说明 Oracle 分析函数从 8.1.6 版本开始提供,是一种计算基于组的聚合值的函数。它和聚合函数的不同之处是对于每个组返回多行,而聚合函数对于每个组只返回一行。 开窗函数是分析函数工作的...

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

    数据块结构的分析说明是数据库管理与优化工作中不可或缺的一环。 在Oracle中,数据块的大小可配置,例如文档中提到的blocksize:8192字节,即Oracle数据块可以设置为8KB大小。数据块内部又分为不同的区域,包括数据...

    oracle Rule分析及说明文档.doc

    Oracle Rule分析涉及的是数据库管理中的重要方面,尤其是针对PL/SQL代码的优化和最佳实践。这些规则旨在提高代码的效率、可维护性和避免潜在的错误。以下是对这些规则的详细说明: 1. **CodeXpert Rule 2601 - 确保...

    oracle索引分析说明

    本文将深入探讨Oracle索引的使用、存储原理以及如何分析索引效率,特别是通过`clustering_factor`这个指标来评估索引的性能。 首先,让我们理解索引的工作原理。在Oracle中,索引是一种特殊的数据库对象,它为表的...

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

    ### Oracle 数据库监听分析及其说明 #### 概述 Oracle 数据库监听器是数据库系统中的一个关键组件,它负责管理数据库实例与客户端应用程序之间的网络连接。通过监听特定的端口,监听器能够接收来自客户端的连接...

    (精选)ORACLE(甲骨文)导出科目余额表与凭证表操作说明及截图.pdf

    在Oracle(甲骨文)数据库管理系统中,导出科目余额表和凭证表是会计信息系统日常管理的重要环节。这些操作主要用于数据分析、财务报表制作以及审计需求。以下是对导出这两个关键表格的操作步骤的详细说明: 首先,...

    Oracle数据库表结构导出工具Excel

    3. **数据库选择与表筛选**:说明如何在众多数据库和表中选择需要导出的特定对象。 4. **导出选项**:描述可以自定义的导出设置,如是否包含注释、触发器、存储过程等,并可以选择导出的字段格式。 5. **执行导出*...

    Oracle数据库官方文档说明

    这份“Oracle数据库官方文档说明”提供了全面深入的学习材料,旨在帮助用户快速理解和掌握Oracle数据库的相关知识。以下是对Oracle数据库核心概念、功能和操作的详细解释。 1. **Oracle数据库结构**:Oracle数据库...

    oracle表结构查询命令

    - `last_analyzed`:表最后一次被分析的时间。 ##### 2. 查询表对象信息 **命令格式**: ```sql SELECT * FROM all_objects; ``` **说明**: - `all_objects`:提供了更详细的信息,如对象类型、创建时间等。 **...

    oracle分析函数文档

    ### Oracle分析函数详解 #### 一、概述 Oracle分析函数是一种强大的工具,它允许用户对分组数据执行复杂的计算,并且结果可以根据特定条件进行动态调整。这种灵活性使得Oracle分析函数在处理复杂的数据集时非常...

    Oracle表结构导出工具Excel.rar

    在日常数据库管理工作中,有时我们需要将Oracle表结构导出,以便进行备份、迁移或分析。"Oracle表结构导出工具Excel.rar"就是针对这一需求提供的一种解决方案。 这个压缩包包含两个文件:"DBExport For ORACLE 使用...

    Oracle系统权限说明

    - `ANALYZE`: 对任意表、索引或簇执行分析操作,以获取性能信息。 - `AUDIT ANY`: 为任何数据库对象设置审计选项,用于追踪操作。 - `AUDIT SYSTEM`: 开启系统级别的审计,记录系统级别的操作。 - `BACKUP ANY ...

    oracle表分区实践

    - **说明**:以产品信息表为例,按产品类别进行分区。 - **前置条件**:产品信息表已存在,且数据量较大。 - **分区类型**:按行分区。 - **分区执行步骤**: 1. **分析需求**:确定按产品类别(成品信息、零件信息...

    企业oracle数据分析岗位面试题

    ### 企业Oracle数据分析岗位面试题解析 #### 一、数据库系统的认知 - **知识点解析**: - **数据库系统概述**:数据库系统是指用于管理和处理数据的软件集合,包括数据库管理系统(DBMS)以及相关应用软件和服务...

    达梦和oracle的差异说明

    通过以上分析可以看出,尽管达梦数据库旨在兼容Oracle的部分功能,但在实际应用中仍需注意两者之间的差异,特别是在字段名处理、数据类型使用、语法关键字等方面。了解这些差异有助于更好地利用这两种数据库系统,并...

    oracle数据块结构分析说明

    "Oracle数据块结构分析说明" Oracle 数据块结构是 Oracle 数据库存储数据的基本单元。一个数据块(Block)是 Oracle 数据库中的最小存储单元,它是数据文件(Datafile)中的一部分。每个数据块的大小可以是 2k、4k...

    深入分析oracle日志文件

    深入分析 Oracle 日志文件 Oracle 日志文件是 Oracle 数据库管理员 (DBA) 实现数据库恢复和追踪用户操作的重要工具。通过分析 Oracle 日志文件,可以追踪用户的恶意操作、恢复误删除的数据、执行事后审计等。Oracle...

    OracleAWR报告详细分析.pdf

    "Oracle AWR报告详细分析" Oracle AWR(Automatic Workload Repository)报告详细分析是Oracle 10g版本推出的新特性,全称叫Automatic Workload Repository-自动负载信息库。AWR是通过对比两次快照(snapshot)收集...

    ORACLE分析函数.pdf

    以下是对Oracle分析函数的详细说明,以及如何使用它们。 1. 自动汇总(ROLLUP, CUBE) ROLLUP用于生成数据的多级汇总,从最细粒度到最粗粒度。例如,可以计算每个区域、每个网络类型以及整个数据集的总本地费用。...

Global site tag (gtag.js) - Google Analytics