2015-10-14 115 views
0

在oracle中收集统计信息 - 性能如何得到改进?oracle中的统计信息收集

当收集字段/索引的统计信息时,系统收集信息,如:表的总行数,列中有多少个不同的值,每个值有多少行,索引列是否独特或非独特的等

以上信息被称为统计。

1.如何提高性能?

2.解析引擎/基于成本的优化器(CBO)如何使用统计信息获得更好的查询性能?

3.为什么我需要收集索引列上的统计信息,尽管事实上 在where子句/联接本身中使用索引列会提供更好的性能?

回答

1

以上信息被称为统计。所以性能如何得到改善?

因为更准确的信息会让优化决定更好执行计划

例如,

当您尝试到达目的地的第一次,你收集有关路线,方向,路标信息等,一旦你到达目的地,你已经收集了所有的信息,下一次你会用最短的路径或最短的时间到达目的地。

+1

不错的例子..... – Utsav

+0

哦哇哇更好的例子,谢谢你...你还可以在oracle的角度详细解释上述3个问题 – srinath

+0

1.这些统计数据存储在哪里? 2.以下信息存储在哪里? a)每个值有多少行, b)列索引,如果是唯一或非唯一等 – srinath