oracle优化_–_表分析统计

oracle优化_–_表分析统计

ID:11789731

大小:185.50 KB

页数:26页

时间:2018-07-14

oracle优化_–_表分析统计_第1页
oracle优化_–_表分析统计_第2页
oracle优化_–_表分析统计_第3页
oracle优化_–_表分析统计_第4页
oracle优化_–_表分析统计_第5页
资源描述:

《oracle优化_–_表分析统计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、Oracle优化–分析统计讨论一:使用dbms_stats还是analyze自从Oracle8.1.5引入dbms_stats包,Oracle及专家们就推荐使用dbms_stats取代analyze。理由如下:1.dbms_stats可以并行分析2.dbms_stats有自动分析的功能(altertablemonitor)3.analyze分析统计信息的有些时候不准确第1,2比较好理解,且第2点实际上在VLDB(VeryLargeDatabase)中是最吸引人的;3以前比较模糊,看了metalink236935.1解释,ana

2、lyze在分析Partition表的时候,有时候会计算出不准确的Globalstatistics。原因是dbms_stats会实在的去分析表全局统计信息(当指定参数);而analyze是将表分区(局部)的statistics汇总计算成表全局statistics,可能导致误差。没有分区表的情况下两个都可以使用(看个人习惯,当然也可以分区表使用dbms_stats,其他使用analyze)。不过在一些论坛上也有看到dbms_stats分析之后出现统计数据不准确的情况,而且确实有bug在dbms_stats上(可能和版本有关,有待查

3、明),应该是少数情况,需要我们注意。还有,一般不建议analyze和dbms_stats混用。实验:如果在分区表上用dbms_stats统计后,再使用analyzetable来统计,就会出现表信息不被更新的问题。删除统计信息后再分析就更新了,或者直接用dbms_stats分析。dbms_stats目前有遇到的bug例子如下:http://www.itpub.net/viewthread.php?tid=959290&highlight=dbms%5C_statsdbms_stats包可以分析table、Index或者整个用户(

4、schema),数据库,可以并行分析。不同版本包有些不一样,dbms_utility(8i以前的工具包),dbms_stats(8i或以后提供的工具包),具体的dbms_stats包的众多功能介绍见后面。对命令与工具包的一些总结:1、对于分区表,建议使用DBMS_STATS,而不是使用Analyze语句。a)可以并行进行,对多个用户,多个Tableb)可以得到整个分区表的数据和单个分区的数据。c)可以在不同级别上ComputeStatistics:单个分区,子分区,全表,所有分区d)可以导出统计信息e)可以用户自动收集统计信息

5、(altertablemonitor)2、DBMS_STATS的缺点:a)不能ValidateStructure(注意:validatestructure主要在于校验对象的有效性.computestatistics在于统计相关的信息)。b)不能收集CHAINEDROWS(行链接),不能收集CLUSTERTABLE(簇表)的信息,这两个仍旧需要使用Analyze语句。c)DBMS_STATS默认不对索引进行Analyze,因为默认Cascade是False,需要手工指定为True。即GATHER_TABLE_STATS:分析表信

6、息,当cascade为true时,分析表、列(索引)信息。Analyze是同时更新表和索引的统计信息,而dbms_stats会先更新表的统计信息,然后再更新索引的统计信息(默认Cascade是False),这里就有一个问题,就是当表的统计信息更新后,而索引的统计信息没有被更新,这时候cbo就有可能选择错误的plan。3、对于oracle9里面的ExternalTable,Analyze不能使用,只能使用DBMS_STATS来收集信息。Analyze命令语法如下:ANALYZE{TABLE[schema.]table[PARTI

7、TION(partition)

8、SUBPARTITION(subpartition)]

9、INDEX[schema.]index[PARTITION(partition)

10、SUBPARTITION(subpartition)]

11、CLUSTER[schema.]cluster}{COMPUTE[SYSTEM]STATISTICS[for_clause]

12、ESTIMATE[SYSTEM]STATISTICS[for_clause][SAMPLEinteger{ROWS

13、PERCENT}]

14、validation_clauses

15、LIS

16、TCHAINEDROWS[into_clause]

17、DELETE[SYSTEM]STATISTICS};dbms_stats所有的功能包如下:GATHER_INDEX_STATS:分析索引信息GATHER_TABLE_STATS:分析表信息,当cascade为true时,分析

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。