当前查询 加速 特殊寄存器
当前查询加速特殊寄存器指定了一个值,用于标识当 Db2 向加速器服务器发送动态SQL查询时,以及当加速器服务器发生故障时 Db2 应采取的措施。 静态SQL查询不适用特殊注册。
数据类型为 VARCHAR(255)。
有效值为:
- 无
- 指定不向加速器服务器发送任何查询。
- ENABLE
- 指定仅当 Db2 确定查询有利时才会加速查询。 如果在查询运行时出现加速器故障,或者加速器返回错误, Db2 将向应用程序返回负SQLCODE。
- 启用(带故障恢复)
- 指定仅当 Db2 确定查询有利时才会加速查询。 如果加速器在 PREPARE 或首次针对查询的 OPEN 期间返回错误,那么 Db2 将在不使用加速器的情况下执行查询。 如果在FETCH或后续OPEN期间,加速器返回错误, Db2 会将错误返回给用户,并且不执行查询。
- 合格
- 指定查询条件符合加速条件时,加速查询。 Db2 不使用成本信息来确定是否加速查询。 不适合加速的查询由 Db2 执行。 如果在查询运行时出现加速器故障,或者加速器返回错误, Db2 将向应用程序返回负SQLCODE。
- 全部
- 指定查询条件符合加速条件时,加速查询。 Db2 不使用成本信息来确定是否加速查询。 不符合加速条件的查询不会由 Db2 执行,并且会返回 SQL 错误。 如果在查询运行时出现加速器故障,或者加速器返回错误, Db2 将向应用程序返回负SQLCODE。
当前查询加速度的初始值由以下设置之一确定:
- Db2 子系统参数QUERY_ACCELERATION的值。 除非您的安装更改了该值,否则该子系统参数的初始值默认为“无”。
- 如果指定用于包裹的绑定,QUERYACCELERATION绑定选项。 这种行为使得QUERYACCELERATION绑定选项可用于指定动态SQL查询的加速行为,而不仅仅是静态SQL查询。 此绑定选项没有默认值。
用户定义函数或存储过程中的当前查询加速度的初始值根据用户定义函数或存储过程中的特殊寄存器中的规则进行继承。
您可以通过执行SET CURRENT QUERY ACCELERATION语句来更改寄存器的值。
设置特殊寄存器值的优先顺序(从低到高)如下:
- QUERY_ACCELERATION子系统参数
- QUERYACCELERATION绑定选项(如果指定)
- 明确的SET CURRENT QUERY ACCELERATION语句
示例 :以下语句设置当前查询加速特殊寄存器,使其不发生查询加速。
SET CURRENT QUERY ACCELERATION NONE;
