SYSPROCPLAN

sysprocplan 系统目录表描述每个例程内的数据操作语句的查询执行方案和依赖性列表。由于可以在不同的日期创建例程方案的不同部分,所以此表可以包含每个例程的多个行。
表 1. SYSPROCPLAN 表列描述
类型 解释
procid INTEGER 例程的标识代码
planid INTEGER 计划的标识代码
datakey CHAR(1) data 列中存储的信息的类型:
  • D = 依赖性列表
  • I = 信息记录
  • Q = 执行计划
seqno INTEGER 方案内的行号
created DATE 创建方案的日期
datasize INTEGER 列表或方案的大小(以字节计)
data CHAR(256) 已编码(编译)的列表或计划
collation CHAR(32) 创建例程时的排列顺序

在运行例程之前,会检查 data 列中例程的依赖性列表。如果方案存取的表的主版本号已更改,或者如果例程使用的任何对象自从优化方案以来已被修改(例如:如果已删除索引),那么会再次优化方案。当 datakey 为 I 时,data 列存储有关 UPDATE STATISTICS 和 PDQPRIORITY 的信息。

可通过对 sysprocplan 使用 DELETE 语句来删除给定例程的所有方案。当后来执行例程时,新的方案就会自动生成并记录在 sysprocplan 中。UPDATE STATISTICS FOR PROCEDURE 语句也会更新此表。

procidplaniddatakeyseqno 列的组合索引只允许唯一值。