Oracle工具:Analyze

本文介绍了Oracle中的Analyze工具,主要包括其三大功能:搜集和删除统计信息、验证结构和鉴定行迁移。推荐使用DBMS_STATS包替代Analyze进行统计信息收集,因为它可以并行收集,适用于分区表。Analyze工具可以应用于表、索引和簇,但有一些限制,如不能分析数据字典表、扩展表和临时表等。文章详细阐述了不同类型的统计分析选项,如COMPUTE STATISTICS和ESTIMATE STATISTICS,以及如何进行结构验证。

   Oracle工具:Analyze

    ㈠ 三大功能

    ① 搜集和删除索引、表和簇的统计信息

    ② 验证表、索引和簇的结构

    ③ 鉴定表和簇和行迁移和行链接

    针对analyze的搜集和删除统计信息功能而言

    Oracle推荐使用DBMS_STATS包来代替analyze搜集优化信息

    DBMS_STATS可以并行的搜集信息,可以搜集分区表的全局信息

    进一步来说,CBO只会使用DBMS_STATS包所统计出来的信息

    ㈡ 先决条件

    ① 在自己的方案中

    ② 或有analyze any system 的权限

    ㈢ 语法

    ANALYZE

    { TABLE [ schema.]table

    [ PARTITION ( partition ) | SUBPARTITION ( subpartition ) ]

    | INDEX [ schema. ]index

    [ PARTITION ( partition ) | SUBPARTITION ( subpartition ) ]

    | CLUSTER [ schema. ]cluster

    }

    { COMPUTE [ SYSTEM ] STATISTICS [for_clause]

    | ESTIMATE [ SYSTEM ] STATISTICS [for_clause][SAMPLE integer { ROWS | PERCENT }]

    | validation_clauses

    | LIST CHAINED ROWS [ into_clause ]

    | DELETE [ SYSTEM ] STATISTICS

    } ;

 

    注释:

    ① INDEX index:对索引进行分析,分析的结果会放在USER_INDEXES, ALL_INDEXES,或 DBA_INDEXES中

    ② TABLE table:对表进行分析,分析的结果会放在USER_TABLES, ALL_TABLES, and DBA_TABLES表中

    分析表的限制:

    不可以分析数据字典表

    不可以分析扩展表,但可以用DBMS_STATS来实现这个目的

    不可以分析临时表

    不可以计算或估计下列字段类型:

    REFs, varrays, nested tables, LOBs , LONGs, or object types

    ③ CLUSTER cluster:对簇进行分析,分析的结果会放在ALL_CLUSTERS, USER_CLUSTERS and DBA_CLUSTERS

    ④ compute_statistics_clause

    语法:COMPUTE [ SYSTEM ] STATISTICS [for_clause]

    对分析对象进行精确的统计,然后把信息存储的数据字典中。可以选择对表或对字段进行分析

    computed和estimated这两种方式的统计数据都被优化器用来影响sql的执行计划

    如果指定system选项就只统计系统产生的信息

    for_clause:

    FOR TABLE:只统计表

    FOR COLUMNS:只统计某个字段

    FOR ALL COLUMNS:统计所有字段

    FOR ALL INDEXED COLUMNS:统计索引的所有字段

    ⑤ ESTIMATE [ SYSTEM ] STATISTICS [for_clause][SAMPLE integer { ROWS | PERCENT }]

    只是对部分行做一个大概的统计。适用于大表

    SAMPLE:指定具体统计多少行,如果忽略这个参数的话,oracle会默认为1064行

    ROWS causes:行数 Oracle to sample integer rows of the table or cluster or integer entries from the index. The integer must be at least 1.

    PERCENT causes:百分数

    ⑥ validation_clauses

    分析REF或是对像的结构

    例如:

    ANALYZE TABLE employees VALIDATE STRUCTURE CASCADE;

    ANALYZE TABLE customers VALIDATE REF UPDATE;

    通常用于物理和逻辑的一致性检查。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值