更改开始

当前加速器特殊寄存器

CURRENT ACCELERATOR特殊寄存器指定了 Db2 发送动态SQL查询的首选目标加速器。

CURRENT ACCELERATOR特殊寄存器仅适用于动态SQL查询。 对于静态 SQL 查询,您可以使用 ACCELERATOR 绑定选项来指定特定的加速器。

如果您有多个加速器,且它们加速的是同一组 Db2 表,则默认情况下,工作负载平衡算法(WLB)会根据每个加速器上的队列长度来分配查询。 当CURRENT ACCELERATOR特殊寄存器指定了特定的合格加速器服务器时, Db2 会在将SQL发送到其他加速器服务器之前,先考虑将该SQL发送到该服务器。 如果当前加速器指定的加速器服务器不可用, Db2 会考虑其他可用的加速器服务器。

更改开始FL 509 要在多个加速器中定义的仅加速器表中执行 DML 语句,CURRENT ACCELERATOR 特殊寄存器必须指定表中定义的加速器之一。更改结束

在以下情况下,指定特定的加速器目标很有用:
  • 根据工作量的优先级,将查询定向到不同的加速器。 您可以将优先级更高的查询发送到速度最快、容量最大的加速器,将优先级较低的查询发送到速度较慢的加速器。
  • 为了避免发送到远程加速器的查询可能增加的运行时间。 WLB算法无法解决向远程加速器发送查询时出现的延迟问题。 如果您的环境中同时包含本地部署的加速器和远程加速器(例如,用于灾难恢复),您可以将优先级更高的查询发送到本地加速器。

数据类型为VARCHAR(8)。

当前加速度的初始值由以下设置之一确定:
  • 如果指定用于包装的装订,则选择加速器装订选项。 此绑定选项没有默认值。
  • 否则,默认设置“当前加速器”为空(无首选加速器)。

示例

以下语句设置当前加速器特殊寄存器,使 ACCEL1 成为首选加速器。更改开始
SET CURRENT ACCELERATOR = ACCEL1;
更改结束
更改结束