并行查询让SQL Server加速运行
2009-03-14 10:24:20 来源:WEB开发网其次,确定并行的进程数。当查询优化器在查询语句中插入交叉运算符之后,数据库就会执行并行查询。并行查询在执行计划时可以使用多个线程。此时,就又遇到了一个问题,数据库会把这个查询作业分成几个进程操作呢?此时,数据库管理员就需要知道上什么叫做并行度。其实。在处理并行查询的时候,数据需要知道最大可使用的进程与实际使用的进程。而最大可使用的进程就叫做并行度。这个并行度的值是在服务器级别中进行设置,也可以通过系统存储过程来进行修改。但是,最大可使用进程数不一定等于实际是用进程数。实际是用进程数是数据库在查询计划执行时初始化的时候确定的。也就是说,这不用数据库管理员去额外的设定。数据库系统会自动根据计划的复杂程度来确定合理的进程数目。当然其实际采用的进程数不能够超过并行度,即最大可以使用的进程数。
最后执行查询。当以上内容确定好之后,数据库就会执行具体的查询语句。在这一步中,需要注意一个问题。数据库管理员还可以在查询语句中指定MAXDOP查询提示来修改这个进度值。也就是说,如果某个查询作业数据库管理员认为可能会耗时比较久,就可以为这个查询作业设置比较大的进度值。当利用MAXDOP查询提示设置这个并行进度值之后,它会覆盖预先设置的默认值。从而实现针对单个查询语句设置额外的进度值,以提高某些特殊查询作业的性能。
二、并行查询中需要注意的内容。
注意点一:需要注意硬件方面的限制。
并行查询是数据库提高查询性能的一个有力举措。不过其往往受到比较大的约束。如上面提高的一些基于成本考虑之外,还有一些硬性的限制。如通常情况下,只有在数据库服务器有多个微处理器(CPU )的情况下数据库才会考虑执行并行查询。也就是受,只有具有多个CPU的计算机才能够使用并行查询。这是一个硬性的限制条件。另外在查询计划执行过程中,数据库还会判断当时是否有足够多的线程可以使用。每个查询操作都要求一定的线程数才能够执行;而且执行并行计划比执行串行计划需要更多的线程,所需要的线程数也会随着并行度的提高而提高。如果在并行计划执行的时候,当时数据库服务器没有足够的线程让并行计划使用的话,数据库引擎就会自动减少并行度,甚至会放弃并行查询而改为串行计划。所以说,数据库是否能够执行并行查询,要受到其硬件的限制。为此,如果企业真的需要通过并行查询来提高数据库性能的话,则管理员就需要根据情况来调整硬件配置。
- ››sql server自动生成批量执行SQL脚本的批处理
- ››sql server 2008亿万数据性能优化
- ››SQL Server 2008清空数据库日志方法
- ››sqlserver安装和简单的使用
- ››SQL Sever 2008 R2 数据库管理
- ››SQL SERVER无法安装成功,sqlstp.log文件提示[未发...
- ››Sql Server中通过父记录查找出所有关联的子记录
- ››SqlServer触发器、存储过程和函数
- ››SQL Server 中的事务(含义,属性,管理)
- ››Sqlite数据库插入和读取图片数据
- ››Sql server 2005拒绝了对对象 'xx表' (数...
- ››Sql server 2005拒绝了对对象 'xx表' (数...
更多精彩
赞助商链接