1

我有 64 位开发版本的 sql server。

SELECT @@VERSION 

Microsoft SQL Server 2008 R2 (SP1) - 10.50.2500.0 (X64) 2011 年 6 月 17 日 00:54:03 版权所有 (c) Microsoft Corporation Developer Edition (64-bit) o​​n Windows NT 6.1 (Build 7601: Service Pack 1)

我的主表有 60 万条记录。我经常从中进行选择,并在选择中有许多(超过 6 个)子查询,同时还自我加入同一个表。有些查询需要 15 分钟。然而,我从未见过 sql server 使用多个处理器。

在这个问题中,有一个问题列表,我的查询填写了所有这些问题。“你有多核机吗?” 真的吗 ?这是一个问题?

http://technet.microsoft.com/en-us/library/ms189094(v=sql.90).aspx 是的,我有“最大并行度”= 0。

所以我的要求是有人可以创建一个脚本来证明并行性在他们的机器上有效。

我希望有类似的东西。

  • 创建 2 个表

  • 自动用 ID 和一些垃圾填充它们

  • 从两个表中选择,使用子查询、排序、组等来展示并行性。

谢谢布赖恩

4

1 回答 1

2

这导致我的查询具有并行性:

USE master

SELECT o1.object_id, o1.type
INTO #temp
FROM sys.objects o1
CROSS JOIN sys.objects o2
CROSS JOIN sys.objects o3
CROSS JOIN sys.objects o4

SELECT o1.type, o2.type, COUNT_BIG(*)
FROM #temp o1
JOIN #temp o2 ON o1.object_id = o2.object_id
GROUP BY o1.type, o2.type
于 2013-05-17T21:39:19.077 回答