收集表统计信息与计算统计信息

时间:2017-01-28 08:21:45

标签: oracle

任何人都可以让我知道它们之间的区别,以及它究竟是什么 会在后端做。

DBMS_STATS.GATHER_TABLE_STATSanalyze table compute statistics和 估计统计数据

我用谷歌搜索了它,但直到现在才找到正确答案。

2 个答案:

答案 0 :(得分:2)

不推荐使用analyze table来收集基于费用的优化工具的统计信息。

As documented in the manual只有两件事应该使用analyze

  • 使用VALIDATE或LIST CHAINED ROWS条款
  • 收集有关空闲列表块的信息

要收集优化程序的统计信息,请使用dbms_stats

本手册还介绍了dbms_stats包的功能:

  

对于大多数统计信息的收集,请使用DBMS_STATS软件包,它允许您并行收集统计信息,收集分区对象的全局统计信息,以及以其他方式微调统计信息收集

(强调我的)

答案 1 :(得分:0)

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