oracle 收集对象统计信息 处理全局临时表

处理全局临时表

直到11.2版本为止(包括11.2版本在内),对于全局临时表,dbms_stats包仅对gather_database_stats和gather_schema_stats存储过程提供gather_temp参数的支持。通过这个参数,仅能够控制是否处理全局临时表。收集的执行过程与“普通”表没有区别。

结果,在大多数时间里,抛开对象统计信息是如何被收集的不说,全局临时表上没有可以使用的对象统计信息。原因有两个。第一,dbms_stats 在处理过程开始会执行一个COMMIT操作,因此,通过on commit delete rows (也就是默认选项)选项创建的临时表永远是空的。第二,如果收集过程与往常一样,发生在一个像默认收集任务这样的任务中,全局临时表也是空的。