ANALYZE_DATABASE

此过程分析数据库中所有模式下表信息。

语法

DBMS_SQL.ANALYZE_DATABASE (
    method                  VARCHAR2,
    estimate_rows           NUMBER DEFAULT 0,
    estimate_percent        NUMBER DEFAULT 0,
    method_opt              VARCHAR2 DEFAULT '');

结构

参数 说明
method 方法名。现仅支持COMPUTE。
estimate_rows 估计分析行数。暂不支持。
estimate_percent 估计分析行百分比。暂不支持。
method_opt 分析对象类型。现仅支持FOR TABLE。 默认含义为FOR TABLE。

返回值

无返回值,分析结果保存在sys_class中的reltuples中。

示例

DROP TABLE tbl CASCADE;
CREATE TABLE tbl(a int, b int, c varchar(20));
INSERT INTO tbl VALUES(1, 2, 'szoscar55');
INSERT INTO tbl VALUES(1, 2, 'szoscar55');

SELECT relname, reltuples FROM sys_class where relname = 'TBL';
RELNAME(name)      |RELTUPLES(real)      |
----------------------------------------
TBL                |8192                 |
总数目:1

EXEC DBMS_UTILITY.ANALYZE_DATABASE('COMPUTE');

select relname, reltuples FROM sys_class where relname = 'TBL';
RELNAME(name)      |RELTUPLES(real)      |
----------------------------------------
TBL                |2                    |
总数目:1
DROP TABLE tbl CASCADE;