- 1、本文档共17页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
oracle收集统计信息
? (2011-06-29 10:51:12)
转载▼
杂谈 分类:?oracle学习笔记 统计信息包括下面几类:
表统计:包括记录数、block数和记录平均长度。
列统计:列中不同值的数量(NVD)、空值的数量和数据分布(HISTOGRAM)。
索引统计:索引叶块的数量、索引的层数和聚集因子(CLUSTERING FACTOR)。
系统统计:I/O性能和利用率和CPU性能和利用率。
统计信息生成技术包括三种:
基于数据采样的估计方式;
精确计算方式;
用户自定义的统计信息收集方式;
其中采用估算方式可以指定总记录数的估算百分比或者总块数的估算百分比。
分区表的统计信息分为几级:分区表的整体信息、分区的统计信息和子分区的统计信息。
最常用的收集统计信息的方式包括:DBMS_STATS包和ANALYZE语句,Oracle推荐使用DBMS_STATS包来收集统计信息。
DBMS_STATS包中用于收集统计信息的过程包括:
dbms_stats.gather_table_stats??收集表、列和索引的统计信息;dbms_stats.gather_schema_stats???收集SCHEMA下所有对象的统计信息;dbms_stats.gather_index_stats??收集索引的统计信息;dbms_stats.gather_system_stats??收集系统统计信息。dbms_stats.delete_table_stats??删除表的统计信息dbms_stats.export_table_stats 输出表的统计信息dbms_stats.create_state_table?dbms_stats.set_table_stats 设置 表的统计dbms_stats.auto_sample_size
dbms_stats.gather_database_stats:收集数据库中所有对象的统计信息;
可以在将METHOD_OPT参数设置为“FOR ALL HIDDEN COLUMNS SIZE N”来收集函数索引的索引表达式信息
Oracle根据下列条件来决定使用哪些索引:
索引中的记录数;
索引中不同键值的数量;
索引的层数;
索引中的叶块数;
聚集因子;
每个键值平均叶块数;
如果两个索引的选择性、查询代价和集势都相同,那么优化器会根据索引名称的字母顺序选
示例(保持表和索引的状态一直,要重建索引,需要使表和索引同时处于解锁状态):
exec dbms_stats.gather_index_stats(user,CR_SHMTRESUL
Oracle dbms_stats
分类: Oracle 2012-04-06 16:13 468人阅读 评论(0) 收藏 举报 oraclestatisticstablenullsystemschema
Oracle dbms_stats.
第一部分:Gathering Optimizer Statistics
?
1. GATHER_DATABASE_STATS
收集数据库中所有对象的统计信息
?
Parameters:
--estimate_percent: 需分析的百分比(NULL means compute),默认值可以通过SET_PARAM来改变。The valid range is [0.000001,100]
--block_sample:无论是否是随机块采样替代随机行采样,随机块采样的效率都会比较高。除非数据不是随机分布在磁盘上的。DEFAULT FALSE
--method_opt:
FOR ALL [INDEXED | HIDDEN] COLUMNS[size_clause]
FOR COLUMNS[size clause] column|attribute [size_clause] [,column|attribute [size_clause]...]
size_clause is defined as size_clause := SIZE {integer | REPEAT | AUTO | SKEWONLY}
- integer: Number of histogram buckets. Must be in the range [1,254].- REPEAT: Collects histograms only on the columns that already have histograms.- AUTO: Oracle determines the columns to collect histograms based ondata distribution and the workload o
文档评论(0)