反应式和预测式控制相结合

您可以在某些SQL语句执行期间限制其资源使用量,并在某些SQL语句执行前预测到它们可能会占用过多资源。 更改开始预测性管理仅适用于动态 SQL 语句。更改结束

示例

资源限制仅适用于以下类型的SQL语句:

  • SELECT
  • INSERT
  • UPDATE
  • MERGE
  • TRUNCATE
  • 删除

您可以为动态 SQL 语句和静态 SQL 语句指定资源限制。 资源限制适用于SQL语句,无论其是本地还是远程发出。 资源限制功能不适用于具有安装SYSADM或安装SYSOPR权限的主授权ID或次授权ID。

为了同时使用反应式和预测式资源限制,资源限制表必须至少包含两列,如下表所示。 如果处理成本估算属于成本类别 B,且您决定运行该语句,则可以使用资源限制表在处理器运行一定时间后终止该语句。

表 1. 反应式和预测式控制相结合
RLFFUNC AUTHID RLFPKG ASUTIME RLFASUWARN RLFASUERR RLF_CATEGORY_B
7 USER1 PKG2 0 800 1000 W
2 USER1 PKG2 1100 0 0 (空白)

本例中,RLST资源限制表的行导致 Db2 对在名为 PKG2:

预测模式
  • 如果语句属于成本类别A,且成本估算大于1000 SUs,则 USER1 将收到SQLCODE -495,且语句不会被执行。
  • 如果该声明属于成本类别A,且成本估算大于800 SUs但小于1000 SUs,则 USER1 将收到SQLCODE +495。
  • 如果语句在成本类别B中, USER1 将收到SQLCODE +495。
反应模式
在以下任一情况下,声明不得超过1100 SUs:
  • 在成本类别A中,一份声明的成本估算低于800苏
  • 成本类别A的成本估算大于800且小于1000,或者成本类别B,且用户选择执行语句