例如对SCOTT用户的EMP表进行%的抽样分析参数如下
DBMS_DDLANALYZE_OBJECT(TABLE SCOTT EMP ESTIMATE NULL)
)
DBMS_UTILITYANALYZE_SCHEMA (
SCHEMA VARCHAR
METHOD VARCHAR
ESTIMATE_ROWS NUMBER DEFAULT NULL
ESTIMATE_PERCENT NUMBER DEFAULT NULL
METHOD_OPT VARCHAR DEFAULT NULL ) ;
DBMS_UTILITYANALYZE_DATABASE (
METHOD VARCHAR
ESTIMATE_ROWS NUMBER DEFAULT NULL
ESTIMATE_PERCENT NUMBER DEFAULT NULL
METHOD_OPT VARCHAR DEFAULT NULL ) ;
其中ANALYZE_SCHEMA用于对某个用户拥有的所有TABLEINDEX和CLUSTER的分析统计
ANALYZE_DATABASE用于对整个数据库进行分析统计
) DBMS_STATS是在ORACLEI中新增的程序包它使统计数据的生成和处理更加灵活方便并且可以并行方式生成统计数据在程序包中的以下过程分别分析统计TABLEINDEXSCHEMADATABASE级别的信息
DBMS_STATSGATHER_TABLE_STATS
DBMS_STATSGATHER_INDEX_STATS
DBMS_STATSGATHER_SCHEMA_STATS
DBMS_STATSGATHER_DATABASE_STATS
在这里我们以数据库JOB的方式定时对数据库中SCOTT模式下所有的表和索引进行分析
在SQL*PLUS下运行
VARIABLE jobno number;
BEGIN
DBMS_JOBSSUBMIT ( :jobno
dbms_utilityanalyze_schema ( scott estimate NULL ) ;
sysdate sysdate+)
commit;
end;
/
Statement processed
Print jobno
JOBNO
以上作业每隔一个月用DBMS_UTILITYANALYZE_SCHEMA对用户SCOTT的所有表簇表和索引作统计分析
编辑推荐
ASP NET开发培训视频教程
Microsoft NET框架程序设计视频教程
[] []