SQL Server上下文中的DOP是什么意思?

oll*_*lle 10 sql-server

sql server上下文中的DOP是什么意思?

小智 16

DOP在 SQL Server 中代表Degrees of Parallelism.

根据此处的 MSDN 文章,如果 SQL Server 有多个可用处理器,并且查询满足特定阈值,SQL Server 将尝试将查询拆分到多个处理器上以提高其性能。

在早期版本的 SQL Server 中,我看到并行实际上使查询运行得更慢;也就是说,花在找出并行度上的时间比没有它的实际查询花费的时间要长。

在查询中,您可以使用OPTION (MAXDOP X)查询提示指定要使用的最大处理器数,其中 X 是可用的最大处理器数。您可以使用OPTION (MAXDOP 1).

并行性和SQL Server 2005/2008 中也存在一个已知问题SCOPE_IDENTITY()


小智 12

d egree ø ˚F P arallelism

当 SQL Server 在具有多个微处理器或 CPU 的计算机上运行时,它会检测每个并行计划执行的最佳并行度,即用于运行单个语句的处理器数量。您可以使用 max degree of parallelism 选项来限制在并行计划执行中使用的处理器数量。

要使服务器能够确定最大并行度,请将此选项设置为 0,即默认值。将最大并行度设置为 0 允许 SQL Server 使用最多 64 个处理器的所有可用处理器。要抑制并行计划生成,请将 max degree of parallelism 设置为 1。将该值设置为大于 1 的数字(最多 64 个)以限制单个查询执行使用的最大处理器数。如果指定的值大于可用处理器的数量,则使用可用处理器的实际数量。如果计算机只有一个处理器,则忽略最大并行度值。