注册
手动收集/导出表的统计信息
专栏/培训园地/ 文章详情 /

手动收集/导出表的统计信息

DM颜 2025/02/27 137 0 0
摘要

1、收集T2表的统计信息,指定采样率 100%
dbms_stats.gather_table_stats('TEST','T2',ESTIMATE_PERCENT=>100); --TEST:模式,T2:表名

2、查看T2表收集的统计信息
dbms_stats.table_stats_show('TEST','T2'); --TEST:模式,T2:表名
或者
select * from SYSSTATS;
select * from user_TAB_STATISTICS;
--STAT$开头的表是执行CREATE_STAT_TABLE后系统自动创建的表。
select * from "STAT$_T_STATTABLE";

3、新建统计信息表T_STATTABLE
dbms_stats.CREATE_STAT_TABLE('TEST','T_STATTABLE','TBS'); ---TEST:模式,T_STATTABLE:统计信息表名,TBS:表空间;

4、把T2表的统计信息导出到T_STATTABLE表里
dbms_stats.export_TABLE_stats('DMTEST','T2', STATTAB=>'T_STATTABLE',
statid=>'T_TESTTAB01', statown=>'DMTEST');

或者把T2表的统计信息导出指定文件:
4.1登录数据库
disql 用户/"密码":端口

4.2使用spool命令导出统计信息至指定文件:
SQL> spool '/dm8/backup/stat.txt'
SQL> dbms_stats.table_stats_show('TEST','T2');
SQL> more
SQL> spool off

4.3查看统计信息
more /dm8/backup/stat.txt

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服