Exchange algorithm (Exchange)

Exchange is used to implement intra-query parallelism when processing a SELECT statement. An Exchange operator has two or more child subtrees, each of which executes in parallel. As each subtree executes, it fills up buffers of rows that are then consumed by the parent operator of the exchange. The result of an exchange is the union of the results from its children. Each child of an exchange uses one task, as does the parent. Therefore, a plan using a single exchange with two children requires three tasks to execute.

Exchange is only used when processing SELECT statements, and when intra-query parallelism is enabled.

For more information about parallelism, see Threading in SQL Anywhere.