`
lizhiyu211
  • 浏览: 232682 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

oracle表分析-收集统计信息

阅读更多

1.分析更新表的统计信息,,有可能导致执行计划改变..
2.以的analyze table abc compute statistics;这条为例,生成的统计信息会存在于user_tables这个视图,

select * from user_tables where table_name='ABC'; 

观察一下NUM_ROWS,BLOCKS,AVG_SPACE,AVG_ROW_LEN几列你就会明白,这就是变化。分析完表之后,会发现DBA_tables 视图中,以前很多列值是空的,现在开始有数据了。这些数据就是分析表得到的.
3.怎么样分析表或索引命令行方式可以采用analyze命令如

Analyze table tablename compute statistics; 
Analyze index|cluster indexname estimate statistics; 
ANALYZE TABLE tablename COMPUTE STATISTICS FOR TABLE FOR ALL [LOCAL] INDEXES FOR ALL [INDEXED] COLUMNS; 
ANALYZE TABLE tablename DELETE STATISTICS ANALYZE TABLE tablename VALIDATE REF UPDATE ANALYZE TABLE tablename VALIDATE STRUCTURE [CASCADE]|[INTO TableName] ANALYZE TABLE tablename LIST CHAINED ROWS [INTO TableName] ;

  等等。


如果想分析整个用户或数据库,还可以采用工具包,可以并行分析 Dbms_utility(8i以前的工具包) Dbms_stats(8i以后提供的工具包) 如

dbms_stats.gather_schema_stats(User,estimate_percent=>100,cascade=> TRUE); 
dbms_stats.gather_table_stats(User,TableName,degree => 4,cascade => true);

 


这是对命令与工具包的一些总结
(1)、对于分区表,建议使用DBMS_STATS,而不是使用Analyze语句。
    a) 可以并行进行,对多个用户,多个Table
    b) 可以得到整个分区表的数据和单个分区的数据。
    c) 可以在不同级别上Compute Statistics:单个分区,子分区,全表,所有分区
    d) 可以倒出统计信息
    e) 可以用户自动收集统计信息
(2)、DBMS_STATS的缺点
    a) 不能Validate Structure
    b) 不能收集CHAINED ROWS, 不能收集CLUSTER TABLE的信息,这两个仍旧需要使用
                   Analyze语句。 

    c) DBMS_STATS 默认不对索引进行Analyze,因为默认Cascade是False,需要手工指定为True
(3)、对于oracle 9里面的External Table,Analyze不能使用,只能使用DBMS_STATS来收集信息.

 

分享到:
评论

相关推荐

    解析:ORACLE性能调整--统计信息的迁移

    最后,通过查询`USER_TABLES`视图,可以检查导入后的统计信息,包括表的行数和最后一次分析的时间,以确认迁移是否成功。 这个过程对于诊断和解决生产环境中特有的性能问题至关重要,因为它允许开发人员和DBA在...

    twp-oracle-database-in-memory-2245633-zhs.pdf

    监控和管理In-Memory列存储中的对象,以及会话级统计信息的收集,使得数据库管理员可以轻松地监控数据库状态和性能。 Oracle Database In-Memory技术的引入,结合了Oracle在数据库领域的深厚积累和对市场趋势的精准...

    使用dbms_stats包手工收集统计信息

    在 Oracle 数据库中,dbms_stats 包提供了一种手动收集统计信息的方式,包括基于表、用户和索引的统计信息。通过使用 dbms_stats 包,我们可以手动收集统计信息,以提高数据库的性能和查询优化。 基于表的统计信息...

    Oracle 11G统计信息自动收集及调整

    文档里包含Oracle 11G统计信息自动收集及调整,可以使用优化数据库性能,不合理的统计信息会影响数据库性能

    Oracle统计分析-dbms_stats.pdf

    dbms_stats 的使用可以分为两个阶段:收集统计数据和分析统计数据。在收集统计数据阶段,dbms_stats 可以使用不同的选项来控制统计的刷新方式,例如 gather、gather empty、gather stale 和 gather auto。其中,...

    Oracle-Built-In-Packages

    1.2.2 **服务器管理包** - 包括DBMS_JOB用于调度后台任务,DBMS_STATS用于收集和分析表的统计信息以优化查询性能,以及DBMS_LOCK用于实现应用程序级别的锁定机制。 1.2.3 **分布式数据库包** - 针对多数据库环境,...

    Oracle表删除大量数据(千万)后查询变慢问题(原因分析)

    此外,Oracle 还提供了 dbms_stats 包,用于收集统计信息。dbms_stats 包可以替代 analyze 语句的部分功能,并且提供了更多的功能。 在实际应用中,了解 Oracle 分析表的知识对数据库管理员非常重要,可以帮助他们...

    ORACLE之FAQ -- 性能调整

    这里需要注意的是,从 Oracle 8i 开始,建议使用 `DBMS_STATS` 包而不是 `ANALYZE` 命令来收集统计信息。`DBMS_STATS` 提供了更多的选项和更准确的结果,并且支持并行处理。 #### 七、总结 性能调整是 Oracle ...

    Oracle-使用-技巧.docx

    性能规划器是Oracle企业级管理工具箱中的一款强大工具,它不仅帮助管理员收集并分析关键性能指标,还能基于历史数据预测未来系统性能。通过对性能规划器的正确配置和使用,可以有效提高Oracle数据库的性能管理水平,...

    oracle笔记二--plsql 编程.txt

    - **Oracle 9i外部表**:对于Oracle 9i的外部表,不能使用Analyze收集统计信息,而应使用DBMS_STATS。 ### 7. 重建索引 - **重建索引**:重建索引是一种优化索引的方法,它可以改善索引的性能。重建索引时不会删除...

    Oracle数据库性能分析

    - **收集统计信息**: 对于基于成本的优化器(Cost-Based Optimizer, CBO),这一步骤很重要,因为它帮助Oracle确定最佳的查询执行计划。 - **获取分析锁**: 在语句解析过程中,Oracle会锁定相关的对象,防止对象定义...

    Oracle参考手册---经典版

    6. **性能优化**:Oracle性能调优是DBA的重要工作,手册可能会涉及SQL查询优化、索引策略、数据库缓存调整、数据库统计信息收集等。 7. **安全与审计**:Oracle提供了强大的安全性功能,包括用户管理、角色权限、...

    Oracle 11g收集各种统计信息(DBMS_STAT)

    在Oracle 7版本中,analyze语句被用来收集统计信息,但在Oracle 8.1.5引入DBMS_STATS后,Oracle开始推荐使用这个包,因为它提供了更高级的功能和控制。 DBMS_STATS的主要功能是分析表、索引和其他数据库对象,以...

    oracle动态性能表分析说明

    Oracle动态性能表(Dynamic Performance Tables,也称为V$视图)是Oracle数据库系统中的一个重要组成部分,它们提供了关于数据库运行状态的实时信息。这些视图对于诊断性能问题、优化查询以及理解数据库行为至关重要...

    ORACLE数据库教程-SQL基础知识篇.ppt

    - **ANALYZE**:收集表和索引的统计信息以优化查询性能。 - **VALIDATE**:验证表和索引的完整性。 - **CALL**:调用存储过程或函数。 SQL-92是SQL的一个国际标准,但各数据库厂商如Oracle可能会有自己的扩展,...

    ORACLE数据库教程-SQL使用讲解.ppt

    - `ANALYZE`:用于收集统计信息。 - `VALIDATE`:用于验证数据库对象。 - `CALL`:用于调用存储过程或函数。 #### 三、DDL详解 ##### CREATE - **创建用户** - `CREATE USER user_name IDENTIFIED BY password ...

    Oracle-SQL-statements-efficiency.rar_oracle

    2. **Automatic Workload Repository (AWR)**:自动收集数据库的性能统计信息,生成报告,帮助分析性能问题。 3. **ASH (Active Session History)**:实时记录会话活动,用于分析短时间内的性能问题。 四、其他注意...

    oracle性能日志分析报告收集方法

    - **AWR**:AWR是Oracle用来捕捉数据库工作负载信息的一个组件,这些信息包括SQL执行统计、等待事件等。通过AWR报告,我们可以了解数据库在特定时间段内的整体性能状况。 - **ADDM**:ADDM是基于AWR数据生成的一组...

    Oracle-database-10g:性能优化(D1965CN10)

    7. **数据库统计信息**:准确的统计信息是优化器做出正确决策的基础,定期收集和更新统计信息对性能至关重要。 8. **硬件和操作系统优化**:硬件配置,如CPU、内存、磁盘I/O,以及与操作系统的交互,如文件系统、I/...

    Oracle更新分析

    - `method_opt`: 控制收集统计信息的方式,如`skewonly`、`repeat`、`auto`等。 - `degree`: 控制并行度,即同时运行的任务数量。 - **示例代码**: ```sql exec dbms_stats.gather_schema_stats( ownname => '...

Global site tag (gtag.js) - Google Analytics