max_query_tasks option [database]

Specifies the maximum number of server tasks that the database server can use to process a query in parallel.

Allowed values

Integer

Default

0

Scope

Can be set for an individual connection or for the PUBLIC group. Takes effect immediately.

Remarks

The max_query_tasks option sets the maximum level of parallelism that can be used for any SQL statement. The option sets the number of database server tasks that can be used to process a query in parallel. The default value is 0, which allows the database server to use as many tasks as it chooses. Any other value for the max_query_tasks option sets the maximum number of tasks allowed per query. Setting the max_query_tasks option to 1 disables intra-query parallelism.

For more information about server tasks, threads, and query execution, see Threading in SQL Anywhere and Setting the database server's multiprogramming level.

The number of tasks the database server can use for all requests is limited by the threshold set using the -gn option at startup. This number is a global maximum for all databases and connections serviced by that server. The number of tasks used for a request is also limited by the number of logical processors available to the database server. For example, setting the processor concurrency to 1 with the -gtc option disables intra-query parallelism.

When enabled, intra-query parallelism is used to process SELECT statements that meet certain qualifications. The presence of an exchange operator in the access plan for a query indicates that intra-query parallelism was used.

You can override any temporary or public settings for this option within individual INSERT, UPDATE, DELETE, SELECT, UNION, EXCEPT, and INTERSECT statements by including an OPTION clause in the statement. See:

See also