在删除索引并重新创建索引后是否需要收集统计信息?

时间:2015-11-20 09:23:50

标签: sql oracle indexing

我使用的是Oracle SQL,我有一个问题。我有一个索引表,它的统计数据收集。我有一个删除索引的过程,将数据插入表中,然后再次重新创建相同的索引。在此过程之后是否需要再次收集统计信息,或者是否仍会识别索引? 为了收集统计数据,我使用:

EXEC dbms_stats.gather_table_stats(''MIGBUFFER'','''||table_name||''',cascade=>TRUE);

1 个答案:

答案 0 :(得分:4)

没有。在索引创建之后,不需要立即收集索引统计信息,因为Oracle会在创建时自动收集索引的统计信息。

来自documentation

  

Oracle数据库现在会在索引期间自动收集统计信息   创造和重建。

我认为在早期版本中可以使用 COMPUTE STATISTICS 子句来启动或停止索引的统计信息收集。但是,现在这个条款已被弃用。 Oracle数据库现在可以在索引创建和重建期间自动收集统计信息。支持该子句以实现向后兼容,不会导致错误。