WEB开发网
开发学院数据库Oracle Oracle数据库11g新特性:可管理性 阅读

Oracle数据库11g新特性:可管理性

 2008-12-16 13:01:12 来源:WEB开发网   
核心提示: 您可以看到行数没变,同时 last_analyzed 值也没变,Oracle数据库11g新特性:可管理性(7),那么,刚收集的统计信息发生了什么变化呢?统计信息被标记为正在审核,收集它们并测试查询,然后发布,正在审核的统计信息可在视图 USER_TAB_PENDING_STATS 中看到:

您可以看到行数没变,同时 last_analyzed 值也没变。那么,刚收集的统计信息发生了什么变化呢?统计信息被标记为正在审核。正在审核的统计信息可在视图 USER_TAB_PENDING_STATS 中看到:

select num_rows, to_char(last_analyzed,'mm/dd/yy hh24:mi:ss')
from user_tab_pending_stats
where table_name = 'SALGRADE';
Here is the output:
 NUM_ROWS TO_CHAR(LAST_ANAL
---------- -----------------
     9 09/21/07 11:03:35

现在表有 9 行,显示正在审核的统计信息。同时显示有收集时间。假定您想让优化程序看到这些正在审核的统计信息。您可以发布它们:

begin
  dbms_stats.publish_pending_stats('ARUP', 'SALGRADE');
end;
/

如果您检查视图 user_tab_pending_stats,您会发现它现在是空的。如果您现在检查 USER_TABLES,您会看到最新的统计信息:

 NUM_ROWS TO_CHAR(LAST_ANAL
---------- -----------------
     9 09/21/07 11:03:35

这种将统计信息的收集和发布相分开的方法也可用于分区的表。假定您正在逐个分区地加载一个表。您不希望只提供部分信息给优化程序,您更希望所有分区的统计信息能够同时被优化程序看到。但是您还想在加载分区后立刻利用这一时间。那么,您可以在加载分区后立即收集它的统计信息,但不发布这些信息。分析完所有分区后,您可以一次性发布这些统计信息。

检查正在审核的统计信息然后发布

对正在审核的统计信息的一个妙用是,收集它们并测试查询,然后发布。要使优化程序使用正在审核的统计信息而非已发布的信息,将会话参数 optimizer_use_pending_statistics 设为 true.

上一页  2 3 4 5 6 7 8 9 10  下一页

Tags:Oracle 数据库 特性

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接