WEB开发网
开发学院数据库DB2 在 WebSphere Federation Server V9.1 中异步执行... 阅读

在 WebSphere Federation Server V9.1 中异步执行联邦查询

 2009-12-24 00:00:00 来源:WEB开发网   
核心提示: 当 SHIP 缓冲区为空时,SHIP 逻辑将另一个 'Fetch' 请求发送到 "US" 服务器,在 WebSphere Federation Server V9.1 中异步执行联邦查询(6),以便获取下一块数据,就这样重复步骤 3 和步骤 4,不需要将 AT

当 SHIP 缓冲区为空时,SHIP 逻辑将另一个 'Fetch' 请求发送到 "US" 服务器,以便获取下一块数据。就这样重复步骤 3 和步骤 4,直到 UNION 的第一个分支上的查询的整个结果集被取完。

然后,UNION 逻辑转移到下一个分支,依次对应于欧洲和亚洲,并重复步骤 1 到步骤 4。一直重复该过程,直到没有要处理的分支。

因此,UNION 操作符是按从左到右的顺序每次一个分支地从它的分支读取数据。下面的图阐释了当禁用异步时对查询的处理。


图 6. 图 5 中访问计划的执行
在 WebSphere Federation Server V9.1 中异步执行联邦查询
WFS 中启用异步时 UNION 操作符的执行

当通过设置适当的配置参数启用 WFS 9.1 中的异步特性时,前面演示的 UNION ALL 查询的查询执行计划如下:


图 7. 启用异步时 UNION 查询的访问计划
在 WebSphere Federation Server V9.1 中异步执行联邦查询

和之前一样,每个 SHIP 操作符有一个相关联的缓冲区。每个 ATQ 操作符也有一个相关联的缓冲区。ATQ 操作符通过每次从 SHIP/RPD 操作符的缓冲区中读取一行数据来填充它的缓冲区。ATQ 操作符的消费者可以每次从 ATQ 缓冲区中读取一行数据。在这个例子中,消费者是 UNION 操作符。

ATQ 操作符被放在 UNION 的第 2 到 n 个分支上,以便使 UNION 的各个分支同时执行。缺省情况下,不需要将 ATQ 操作符放在 UNION 的第一个分支上,因为 UNION 的第一个分支是第一个要执行的分支(使用协调代理程序)。当执行该计划时,操作顺序如下:

上一页  1 2 3 4 5 6 7 8 9 10  下一页

Tags:WebSphere Federation Server

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接