跟在 FOR TABLE 关键字或 FOR PROCEDURE 关键字之后的任何表、列或 SPL 例程都限制 UPDATE STATISTICS 的作用域。
- 如果 UPDATE STATISTICS 语句
- 未包括 Table 和 Column Scope 子句,且
- 无 Resolution 子句,且
- 无 FOR FUNCTION 规范,且
- 无 FOR PROCEDURE 规范,且
- 无 FOR ROUTINE 规范,且
- 无 FOR SPECIFIC 规范,
则在缺省情况下,对于当前数据库中的每个永久表,在 LOW 模式下更新列分发统计信息,包括系统目录表。
- 如果您使用 FOR TABLE 关键字,但未指定表的名称或同义词,则数据库服务器重新计算当前数据中所有表上的分发,以及您的会话中所有临时表上的分发。(然而,UPDATE STATISTICS 对通过
CREATE EXTERNAL TABLE 语句定义的对象不起作用。)
- 如果您在 FOR TABLE 关键字之后指定表,但没有指定列的列表,则数据库服务器重新计算指定的表的所有列上的统计分发。
- 如果您包括 FOR PROCEDURE 关键字,但未指定任何 SPL 例程的名称,则数据库服务器重新优化当前数据库中所有 SPL 例程的查询执行计划。