利用dbms_stats收集统计信息(待续)
2013-11-04 22:50
405 查看
统计收集的权限
普通用户必须有execute_catalog_role权限
grant execute_catalog_role to hr;
grant connect,resource,analyze any to hr;
统计收集的时间考虑
当参数STATISTICS_LEVEL设置为TYPICAL或者ALL,系统会在夜间自动收集统计信息。
表统计;
统计表的行数,块数,行平均长度;
统计信息保存在all_tables表:查看NUM_ROWS,BLOCKS,AVG_ROW_LEN列列的数据;
列统计;
统计列中唯一值的数量(NDV),NULL值的数量,数据分布;
统计信息保存在DBA_TAB_COLUMNS表:查看NUM_DISTINCT,NUM_NULLS,HISTOGRAM列的数据;
索引统计;
统计索引的叶块数量,等级,聚簇因子;
统计信息保存在DBA_INDEXES表:查看LEAF_BLOCKS,CLUSTERING_FACTOR,BLEVEL列的数据;
系统统计;
统计--I/O性能与使用率;CPU性能与使用率;
存储在aux_stats$中,需要使用dbms_stats收集,I/O统计在X$KCFIO中;
---------------------------------------------------------------------------------------
利用dbms_stats收集
dbms_stats能良好地估计统计数据(尤其是针对较大的分区表),并能获得更好的统计结果,最终制定出速度更快的SQL执行计划。
这个包的下面四个存储过程分别收集index、table、schema、database的统计信息:
dbms_stats.gather_table_stats 收集表、列和索引的统计信息;
dbms_stats.gather_schema_stats 收集SCHEMA下所有对象的统计信息;
dbms_stats.gather_index_stats 收集索引的统计信息;
dbms_stats.gather_system_stats 收集系统统计信息
dbms_stats.GATHER_DICTIONARY_STATS: 所有字典对象的统计;
DBMS_STATS.GATHER_DICTIONARY_STATS 其收集所有系统模式的统计
dbms_stats.delete_table_stats 删除表的统计信息
dbms_stats.delete_index_stats 删除索引的统计信息
dbms_stats.export_table_stats 输出表的统计信息
dbms_stats.create_state_table
dbms_stats.set_table_stats 设置表的统计
dbms_stats.auto_sample_size
普通用户必须有execute_catalog_role权限
grant execute_catalog_role to hr;
grant connect,resource,analyze any to hr;
统计收集的时间考虑
当参数STATISTICS_LEVEL设置为TYPICAL或者ALL,系统会在夜间自动收集统计信息。
表统计;
统计表的行数,块数,行平均长度;
统计信息保存在all_tables表:查看NUM_ROWS,BLOCKS,AVG_ROW_LEN列列的数据;
列统计;
统计列中唯一值的数量(NDV),NULL值的数量,数据分布;
统计信息保存在DBA_TAB_COLUMNS表:查看NUM_DISTINCT,NUM_NULLS,HISTOGRAM列的数据;
索引统计;
统计索引的叶块数量,等级,聚簇因子;
统计信息保存在DBA_INDEXES表:查看LEAF_BLOCKS,CLUSTERING_FACTOR,BLEVEL列的数据;
系统统计;
统计--I/O性能与使用率;CPU性能与使用率;
存储在aux_stats$中,需要使用dbms_stats收集,I/O统计在X$KCFIO中;
---------------------------------------------------------------------------------------
利用dbms_stats收集
dbms_stats能良好地估计统计数据(尤其是针对较大的分区表),并能获得更好的统计结果,最终制定出速度更快的SQL执行计划。
这个包的下面四个存储过程分别收集index、table、schema、database的统计信息:
dbms_stats.gather_table_stats 收集表、列和索引的统计信息;
dbms_stats.gather_schema_stats 收集SCHEMA下所有对象的统计信息;
dbms_stats.gather_index_stats 收集索引的统计信息;
dbms_stats.gather_system_stats 收集系统统计信息
dbms_stats.GATHER_DICTIONARY_STATS: 所有字典对象的统计;
DBMS_STATS.GATHER_DICTIONARY_STATS 其收集所有系统模式的统计
dbms_stats.delete_table_stats 删除表的统计信息
dbms_stats.delete_index_stats 删除索引的统计信息
dbms_stats.export_table_stats 输出表的统计信息
dbms_stats.create_state_table
dbms_stats.set_table_stats 设置表的统计
dbms_stats.auto_sample_size
相关文章推荐
- Oracle数据库统计信息收集:dbms_stats包的使用说明书
- 数据库性能优化、统计信息与对象统计信息概述收集、扩展统计信息、dbms_stats.get_prefs
- dbms_stats收集统计信息no_invalidate参数
- 使用DBMS_STATS来收集统计信息【转】
- oracle统计信息收集之dbms_stats
- 使用DBMS_STATS来收集统计信息
- oracle 统计信息收集包:DBMS_STATS
- dbms_stats收集统计信息中的sample_size为什么跟estimated_percent不匹配?
- oracle统计信息收集之dbms_stats
- 【12c新特性】dbms_stats report_gather_auto_stats统计信息报告特性
- dbms_stats包收集统计信息
- 用dbms_stats的备份表,备份统计信息
- dbms_stats 导入导出 表级别 统计信息
- 使用dbms_stats.export导入统计信息
- dbms_stats.lock_table_stats对于没有统计信息的表分区同样有效
- 如何使用dbms_stats分析统计信息?
- dbms_stats 导入导出 schema 级别统计信息
- 利用DBMS_STATS包修改统计信息,欺骗优化器,生成糟糕的执行计划
- dbms_stats.lock_table_stats对于没有统计信息的表分区同样有效
- dbms_stats包的常用几个信息统计分析