2017-01-28 125 views
-2

任何人都可以让我知道它们之间的区别,以及它在后端做些什么 。收集表统计和计算统计

DBMS_STATS.GATHER_TABLE_STATSanalyze table compute statistics和 估计的统计。

我已经搜索了它,但直到现在还没有找到正确的答案。

回答

2

不建议使用analyze table来收集基于成本的优化程序的统计信息。

As documented in the manual只有两件事情analyze应该用于其中:

  • 要使用验证或LIST行链接条款
  • 要收集空闲列表块

为了收集统计信息。对于优化器,请使用dbms_stats

手册还介绍了这些dbms_stats包做:

对于大多数统计数据的收集,使用DBMS_STATS包,它可以让你收集并行统计,收集全球统计分区对象,并罚款以其他方式调整您的统计信息收集

(重点煤矿)

0

另外,使用DBMS_STATS()时,使用AUTO样本大小;不要尝试并指定一个百分比。