SQLSERVER CXPACKET 等待问题解决

 

CXPACKET 等待是什么意思?

 

当为SQL查询创建一个并行操作时,会有多个线程去执行这个查询。每个查询处理不同的数据集或行集。

因为某些原因,一个或多个线程滞后,而产生了CXPACKET等待状态。

有一个组织/协调(organizer/coordinator)线程(Thread 0),它需要等待所有线程完成并聚合数据来呈现给客户端。

组织线程必须等待所有线程完成处理才能进行下一步。由于组织线程等待缓慢的线程完成处理所产生的等待,就叫CXPACKET等待。

请注意,并不是所有的CXPACKET等待类型都是不好的事情。你也许会遇某个CXPACKET等待是完全有意义的案例,有时它也是不可避免的。

如果你在任何查询上禁止此种等待,那么查询也许会变慢,因为不能为它执行并行操作。

减少CXPACKET等待:

我们不能抛开服务器负载类型来讨论减少CXPACKET等待。

--在查询语句中使用maxdop

SELECT * FROM TABLE WHERE L1='******'

OPTION ( MAXDOP 1 ) --不允许使用并行处理

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值