首页 | 源码下载 | 网站模板 | 网页特效 | 广告代码 | 网页素材 | 字体下载 | 书库 | 站长工具
会员投稿 投稿指南 RSS订阅
当前位置:主页>网络编程>SQL server>资讯:SQLSERVER的max degree of parallelism参数

SQLSERVER的max degree of parallelism参数

www.jz123.cn  2011-04-27   来源:   站长家园    责任编辑(袁袁)    我要投递新闻

  在具有多个微处理器或 CPU 的计算机上运行时,它将为每个并行计划执行检测最佳并行度(即运行一个语句所使用的处理器数)。您可以使用 max degree of parallelism 选项来限制并行计划执行时所用的处理器数。如果默认值为 0,则使用所有可用的处理器。将 max degree of parallelism 设置为 1 以取消生成并行计划。将该值设置为大于 1 的数字(最大为 64)来限制执行单个查询时所用的最大处理器数。如果指定的值比可用的处理器数大,则使用实际可用数量的处理器。如果计算机只有一个处理器,则将忽略 max degree of parallelism 值。

  以下来自微软工程师经验传授:

  关于max degree of parallelism这个选项,一般情况下采用默认的0就可以了,这样的话SQL会根据查询的复杂度来决定使用多大并发度的查询。但是在有些OLTP(联机事务处理)系统中,我们会发现SQL中存在大量的并发查询,从而可能从两方面影响SQL性能:

  1. 单个查询的并发度过高会导致查询会花大量的时间在等待并发同步上,从而影响查询性能

  2. 并发查询太多会占用大量的CPU资源,从而减少其它查询得到CPU时间的机会,这样的话会使其它查询变慢。

  一般来说,如果我们看到SQL Server中有大量的CXPACKET等待类型、或者有许多查询长期处于Runnable的状态(表示该查询在等待CPU时间片),我们会建议客户将并发度降下来,以进一步排查问题。


上一篇:当server死机的时候手工强制产生一个dump文件 下一篇:隐式转换以及SQL Server的相关性能问题

评论总数:0 [ 查看全部 ] 网友评论


关于我们隐私版权广告服务友情链接联系我们网站地图