
当前加速器特殊寄存器
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;
