SQL Anywhere 支持两种不同类型的并行查询。查询间并行和查询内并行。查询间并行是指在多个单独的 CPU 上同时执行多个不同请求。每个请求(任务)都在单个线程上运行,并在单个处理器上执行。
查询内并行是指多个 CPU 同时处理一个请求,这样便可以在多处理器硬件上并行计算查询的各个部分。这些部分的处理由交换算法进行。
若同时执行的查询数目通常少于可用处理器数目,则在这样的负载情况下,采用查询内并行会带来帮助。最大并行度由 max_query_tasks 选项的设置控制。
仅当预期并行操作可提高性能时,优化程序才会估算并行操作的额外开销(额外复制行的开销以及协调工作的额外开销)并选择并行计划。
查询内并行机制不用于优先级选项设置为后台的连接。
如果当前正在处理请求的服务器线程数(服务器属性 ActiveReq),最近超出了授权该数据库服务器使用的计算机上的 CPU 内核的数量,则不使用查询内并行机制。确切的时间段由服务器决定,通常为几秒钟。
![]() |
使用DocCommentXchange讨论此页。
|
版权 © 2012, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.1 |