SET CURRENT REFRESH AGE 语句

SET CURRENT REFRESH AGE 语句可更改 CURRENT REFRESH AGE 专用寄存器的值。

当前刷新年龄值对应于任何(99 999 999 999 999)不能用于时间戳算术运算,因为结果将超出有效日期范围。

调用 SET CURRENT REFRESH AGE

此语句可嵌入应用程序中或者以交互方式发出。 它是可动态准备的可执行语句。

授权 SET CURRENT REFRESH AGE

不需要执行任何操作。

语法 SET CURRENT REFRESH AGE

阅读语法图跳过可视化语法图SET CURRENT REFRESH AGE=常数ANY宿主变量

描述 SET CURRENT REFRESH AGE

numeric-constant
一个十进制(20,6)值,表示时间戳持续时间。 数值必须为0或99 999 999 999 999,其中部分秒数将被忽略,因此可以为任何数值。
0
表示不会尝试使用具体化查询表进行查询优化。
99999999999999
表示任何由优化专用寄存器 CURRENT MAINTAINED TABLE TYPES FOR OPTIMIZATION 标识的已实现查询表都可以用于优化查询处理。 这个数值代表9999年、99个月、99天、99小时、99分钟和99秒。
任何
99999999999999的简写。
主机变量
类型为 DECIMAL(20,6) 的变量或可赋值给 DECIMAL(20,6) 的其他类型。 它不能设置为空。 如果宿主变量有一个相关的指示变量,则该指示变量的值不能为空。 宿主变量的值必须为0或99 999 999 999 999,其中部分秒数被忽略,因此可以为任何值。

设置当前刷新年龄的注意事项

使用指定为“禁用查询优化”的已创建或已更改的实体化查询表不符合自动查询重写的条件。 因此,它们不受此特殊登记设置的影响。

将当前刷新年龄特殊寄存器的值设置为非零值时应谨慎操作。 允许将可能不代表基础表值的实体化查询表用于优化查询处理,可能会产生不能准确反映基础表数据的查询结果。 当您知道基础数据没有变化,或者您愿意接受基于对数据的了解而得到的结果中的误差程度时,这种情况是可以接受的。

例子 SET CURRENT REFRESH AGE

示例 :将 CURRENT REFRESH AGE 特殊寄存器设置为 99 999 999 999 999,表示 CURRENT MAINTAINED TABLE TYPES FOR OPTIMIZATION 特殊寄存器标识的任何已物化查询表可用于优化查询处理。
  SET CURRENT REFRESH AGE ANY;