SQL Server并行度问题

韩老师教学网站 www.91xueit.com 韩老师 QQ 458717185

SQL Server并行度问题

数据库调优 你会看到并行度,如今给你介绍什么是并行度。sql

SQL服务器有4颗CPU数据库

p_w_picpath

同一sql语句的查询计划相同,你能够指定使用几颗CPU,sql server默认有多少个核,并行度就是多少。 windows

一颗CPU不涉及并行度问题服务器

p_w_picpath

    hp并行度默认为4*6=24ide

   dell并行度默认为4*4=16sqlserver

   将两台机器sql server的并行度都强制手工设置为2,而后进行测试,测试结果以下:测试

   在第一个查询最后加上参数 option(MAXDOP 2),而后分别在hp和dell上执行,耗时都是2s,将参数值改成 1 后,耗时都是1s。网站

    在第二个查询最后加上参数option(MAXDOP 2),而后分别在hp和dell上执行,耗时都是2s,将参数值改成 1 后,耗时都是1s。操作系统

p_w_picpath

   由此可看出,问题确实是由并行度不一样而引发的。线程

并行度越高,sql查询并不必定就越快,可能会变慢,但也并非核越少越好。

   在执行查询的时候,sql server会自动分析sql语句,制定查询计划,为每颗CPU分配任务,cpu过多的话,分配任务所耗的时见就越长,但查询自己执行时间并无变长。在达到4CPU后,cpu主频越高,sql查询就越快。

   通常状况下,在自定义sql server所使用的核数的时候,能够用总核数 /2或4。

   微软根据实际经验得出,sql server用4个核效率最高。对于sql server来讲,cpu是透明的,并不关心哪颗核位于哪颗CPU上。

  sql server所支持的cpu个数受sql server版本和操做系统版本所影响。

  sql server 2000 sp4 + windows2003 sp2,sql server最多支持4个核。

  并行度对SQL Server2000,2005,2008都有影响,实际上都只支持4个核。

 更改sql server并行度有两种方法,以下:

  1.在服务器级别适用以下语句更改

在sql语句结尾处关闭统计 :

select getdate()  
set statistics profile off    
set statistics io off    
set statistics time off

如此能够获得该sql语句执行的磁盘 io开销、 时间信息,便于咱们之后分析其余sql语句、查找数据库瓶颈。

sql的服务器属性的 处理器选项卡 当中的默认值最好不要进行更改,若是更改有可能引发数据库的不稳定,经过该选项卡更改,是须要重新启动服务器。更改设置 最好经过 sql语句来进行,不须要从新启动服务器。---- 微软选项卡功能读解:1)处理器控制:经过该项能够选择使用的cpu2)最大工做线程:255 (在微软的官方网站上能够看查到,8颗cpu 能够设置到480 ,但建议不要设置)   3)在windows上提高 sqlserver的优先级:该项能够设置,在专门的数据库服务器上能够设置该项,但仅限于专门的sql server服务器。--- 微软也承认。

相关文章
相关标签/搜索