优化程序统计信息:包括表、列、索引和系统的统计信息。表和索引的统计信息存储在数据字典中。它们为优化程序提供数据存储和数据分发的正确静态快照
- 不是实时统计信息
- 每次重新启动实例后会变成永久信息
- 可自动收集
收集的统计信息包括:
- 数据库块中表或索引的大小
- 行数
- 平均行大小和链计数(仅限表)
- 已删除的叶行的高度和数量(仅限索引)
优化程序统计信息有预配置的GATHER_STATS_JOB自动收集,这个作业在预定义维护窗口中每日运行一次。
如果出现有过高的易失性的表,需要手动收集统计信息
过高的易失性只:某些大型表在24小时内增长率(或缩减率)达到10%
手动收集语句:
>exec dbms_stats.gather_table_stats('FANMING','EMPLOYEES');--必须用DBA用户执行
> select num_rows from dba_tables
where owner = 'FANMING' and table_name = 'EMPLOYEES';
通过DBMS_STATS还可以对整个方案甚至整个数据库启动手动收集统计信息(如何执行)?