dbms_stats.gether_schema_stats 求助

[复制链接]
查看11 | 回复4 | 2014-10-28 06:00:13 | 显示全部楼层 |阅读模式
what's different between dbms_stats.gether_schema_stats() and analyze
回复

使用道具 举报

千问 | 2014-10-28 06:00:13 | 显示全部楼层
我理解是这样,是统计分析的等级不一样吧。
dbms_stats.gether_schema_stats这个是在用户一级的。
analyze 是做对象一级的
这是我的理解,如有不对,敬请指教。
回复

使用道具 举报

千问 | 2014-10-28 06:00:13 | 显示全部楼层
前者分析起来更加灵活。
参考oracle官方文档。
回复

使用道具 举报

千问 | 2014-10-28 06:00:13 | 显示全部楼层
网上有很多关于两者区别的文章
抄一段:
1.对于分区表,建议使用DBMS_STATS,而不是使用Analyze语句。
a)可以并行进行,对多个用户,多个Table
b)可以得到整个分区表的数据和单个分区的数据。
c)可以在不同级别上Compute Statistics:单个分区,子分区,全表,所有分区
d)可以倒出统计信息
e)可以用户自动收集统计信息
2.DBMS_STATS的缺点
a)不能Validate Structure
b)不能收集CHAINED ROWS, 不能收集CLUSTER TABLE的信息,这两个仍旧需要使用Analyze语句。
c)DBMS_STATS默认不对索引进行Analyze,因为默认Cascade是False,需要手工指定为True
3.对于oracle 9里面的External Table,Analyze不能使用,只能使用DBMS_STATS来收集信息。
回复

使用道具 举报

千问 | 2014-10-28 06:00:13 | 显示全部楼层
上面的说的比较全面
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行