Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 12.0.1 » SQL Anywhere 服务器 - SQL 的用法 » 查询和修改数据 » 查询

 

高级:查询执行期间的并行

SQL Anywhere 支持两种不同类型的并行查询。查询间并行和查询内并行。查询间并行是指在多个单独的 CPU 上同时执行多个不同请求。每个请求(任务)都在单个线程上运行,并在单个处理器上执行。

查询内并行是指多个 CPU 同时处理一个请求,这样便可以在多处理器硬件上并行计算查询的各个部分。这些部分的处理由交换算法进行。

若同时执行的查询数目通常少于可用处理器数目,则在这样的负载情况下,采用查询内并行会带来帮助。最大并行度由 max_query_tasks 选项的设置控制。

仅当预期并行操作可提高性能时,优化程序才会估算并行操作的额外开销(额外复制行的开销以及协调工作的额外开销)并选择并行计划。

查询内并行机制不用于优先级选项设置为后台的连接。

如果当前正在处理请求的服务器线程数(服务器属性 ActiveReq),最近超出了授权该数据库服务器使用的计算机上的 CPU 内核的数量,则不使用查询内并行机制。确切的时间段由服务器决定,通常为几秒钟。

 并行执行
 另请参见

查询中的并行机制