sql server中cxpacket等待
sql server中cxpacket等待
sql server中cxpacket等待一、sql server中cxpacket等待的理解
1、当为SQL查询创建一个并行操作时,会有多个线程去执行这个查询。每个查询处理不同的数据集或行集。因为某些原因,一个或多个线程滞后,而产生了CXPACKET等待状态。
2、有一个组织/协调(organizer/coordinator)线程(Thread 0),它需要等待所有线程完成并聚合数据来呈现给客户端。组织线程必须等待所有线程完成处理才能进行下一步。由于组织线程等待缓慢的线程完成处理所产生的等待,就叫CXPACKET等待。
3、CXPACKET 这个等待可以简单理解成CPU相关的等待,主要发生在并行计划中。由于并行计划需要协同多个task同时工作,那么“协同”分配等等操作的时候出现的就是这个等待。
4、如果CXPACKET 在你系统中是最为严重的等待,这时候一般的表现是你的CPU很高。
5、并不是所有的CXPACKET等待类型都是不好的事情。你也许会遇某个CXPACKET等待是完全有意义的案例,有时它也是不可避免的。
6、如果你在任何查询上禁止此种等待,那么查询也许会变慢,因为不能为它执行并行操作。
二、cxpacket等待的解决方法
1、适当调整并行度,操作如图
2、最大并行度设置的说明
(1)、如果在纯OLTP系统上,都是事务较短、特别短小且频繁的语句、查询也不长,但是通常很快速时建议将最大并行度设置成1,这样做可以确保查询永远不必使用并行方式运行,并且不会导致更多的数据库引擎开销。
(2)、如果在OLAP系统上,查询执行时间一般较长,建议设置“Maximum degree of Parallelism”(最大并行度)为0。这样大多数查询将会利用并行处理,执行时间较长的查询也会受益于多处理器而提高性能。
(3)、如果在OLAP与OLTP混合系统上,必须找到正确的平衡点,需要根据自身的系统负载情况,设置并行开销的阀值、最大并行度 两者的值。
例如:设置并行开销的阀值为25,最大并行度为2,这样的话,那些具有较高成本的查询(这里是25),将会在2颗CPU上执行并行查询。
3、并行开销的阀值
主要控制SQL优化器何时选用并行计划,此值设置的越小优化器越容易选择并行计划,把“并行查询阀值”设置为较高的值,这样的话,不是所有的查询都有资格使用并行,除了那些查询成本较高的查询。
- sql server 过期激活(SQL Server评估期已过问题的解决方法)
- python实现sql脚本规范(基于Python的SQL Server数据库实现对象同步轻量级)
- sqlserver 添加分区(SQL Server 数据库分区分表水平分表详细步骤)
- SQL SERVER与MySQL数据类型的对应关系
- sqlserver定时计划(sql server deadlock跟踪的4种实现方法)
- SQL SERVER书签查找
- sql server中PageLatch和PageIOLatch等待
- sqlserver怎么查看数据库版本(Sql Server数据库各版本功能对比)
- Sql Server判断函数、存储过程等是否存在
- sqlservercount函数的用法(SQL Server中row_number函数的常见用法示例详解)
- sqlserver连接字符串函数(SQL SERVER 2012新增函数之字符串函数FORMAT详解)
- sqlserver常用基本数据类型有哪些(浅述SQL Server的语句类别 数据库范式 系统数据库组成)
- sqlserver查看数据表更新时间(SQL Server实现显示每个类别最新更新数据的方法)
- sqlserver2012如何安装如何使用(Sql server 2012 中文企业版安装图文教程附下载链接)
- SQL SERVER中使用WITH TIES获取前几行数据
- sqlserver自增字段(SQL Server中identity自增的用法详解)
- 以后显卡多了一个新选择,N卡和A卡外又多了个I卡(以后显卡多了一个新选择)
- 读卖乐园的彩灯(读卖乐园的彩灯)
- 新疆80后在淘宝卖干果 以前是 不务正业 如今帮乡亲致富(新疆80后在淘宝卖干果)
- 弄清楚了销 售 买 卖这四个字,母婴生意做起来就没那么难了(弄清楚了销售买)
- 数读 买首饰金是 投资黄金 吗 买金容易卖金难(数读买首饰金是)
- 销 售 买 卖 你真的了解这四个字了吗(销售买)
热门推荐
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9