并行查询
一、串行查询
二、并行查询 OPTION(MAXDOP 2)
三、并行查询 OPTION(querytraceon 8649)
一、串行查询
SET STATISTICS IO ON SET STATISTICS TIME ON GO SELECT * FROM dbo.TAccounts AS a INNER JOIN dbo.TAccountAssist AS b ON b.FAccountID=a.FID WHERE a.FCompanyID=36052 GO SET STATISTICS IO OFF SET STATISTICS TIME OFF GO
SQL Server 分析和编译时间: CPU 时间 = 0 毫秒,占用时间 = 0 毫秒。 (584 行受影响) 表 'Workfile'。扫描计数 0,逻辑读取 0 次,物理读取 0 次,预读 0 次,lob 逻辑读取 0 次,lob 物理读取 0 次,lob 预读 0 次。 表 'Worktable'。扫描计数 0,逻辑读取 0 次,物理读取 0 次,预读 0 次,lob 逻辑读取 0 次,lob 物理读取 0 次,lob 预读 0 次。 表 'TAccountAssist'。扫描计数 1,逻辑读取 9 次,物理读取 0 次,预读 0 次,lob 逻辑读取 0 次,lob 物理读取 0 次,lob 预读 0 次。 表 'TAccounts'。扫描计数 1,逻辑读取 16 次,物理读取 0 次,预读 0 次,lob 逻辑读取 0 次,lob 物理读取 0 次,lob 预读 0 次。 (1 行受影响) SQL Server 执行时间: CPU 时间 = 0 毫秒,占用时间 = 209 毫秒。 SQL Server 分析和编译时间: CPU 时间 = 0 毫秒,占用时间 = 0 毫秒。 SQL Server 执行时间: CPU 时间 = 0 毫秒,占用时间 = 0 毫秒。

二、并行查询 OPTION(MAXDOP 2)
SET STATISTICS IO ON SET STATISTICS TIME ON GO SELECT * FROM dbo.TAccounts AS a INNER JOIN dbo.TAccountAssist AS b ON b.FAccountID=a.FID WHERE a.FCompanyID=36052 OPTION(MAXDOP 2) GO SET STATISTICS IO OFF SET STATISTICS TIME OFF GO
SQL Server 分析和编译时间: CPU 时间 = 0 毫秒,占用时间 = 0 毫秒。 (584 行受影响) 表 'Workfile'。扫描计数 0,逻辑读取 0 次,物理读取 0 次,预读 0 次,lob 逻辑读取 0 次,lob 物理读取 0 次,lob 预读 0 次。 表 'Worktable'。扫描计数 0,逻辑读取 0 次,物理读取 0 次,预读 0 次,lob 逻辑读取 0 次,lob 物理读取 0 次,lob 预读 0 次。 表 'TAccountAssist'。扫描计数 1,逻辑读取 9 次,物理读取 0 次,预读 0 次,lob 逻辑读取 0 次,lob 物理读取 0 次,lob 预读 0 次。 表 'TAccounts'。扫描计数 1,逻辑读取 16 次,物理读取 0 次,预读 0 次,lob 逻辑读取 0 次,lob 物理读取 0 次,lob 预读 0 次。 (1 行受影响) SQL Server 执行时间: CPU 时间 = 16 毫秒,占用时间 = 214 毫秒。 SQL Server 分析和编译时间: CPU 时间 = 0 毫秒,占用时间 = 0 毫秒。 SQL Server 执行时间: CPU 时间 = 0 毫秒,占用时间 = 0 毫秒。

三、并行查询 OPTION(querytraceon 8649)
SET STATISTICS IO ON SET STATISTICS TIME ON GO SELECT * FROM dbo.TAccounts AS a INNER JOIN dbo.TAccountAssist AS b ON b.FAccountID=a.FID WHERE a.FCompanyID=36052 OPTION(querytraceon 8649) GO SET STATISTICS IO OFF SET STATISTICS TIME OFF GO
SQL Server 分析和编译时间: CPU 时间 = 0 毫秒,占用时间 = 0 毫秒。 (584 行受影响) 表 'TAccounts'。扫描计数 5,逻辑读取 16 次,物理读取 0 次,预读 0 次,lob 逻辑读取 0 次,lob 物理读取 0 次,lob 预读 0 次。 表 'TAccountAssist'。扫描计数 5,逻辑读取 9 次,物理读取 0 次,预读 0 次,lob 逻辑读取 0 次,lob 物理读取 0 次,lob 预读 0 次。 表 'Workfile'。扫描计数 0,逻辑读取 0 次,物理读取 0 次,预读 0 次,lob 逻辑读取 0 次,lob 物理读取 0 次,lob 预读 0 次。 表 'Worktable'。扫描计数 0,逻辑读取 0 次,物理读取 0 次,预读 0 次,lob 逻辑读取 0 次,lob 物理读取 0 次,lob 预读 0 次。 (1 行受影响) SQL Server 执行时间: CPU 时间 = 0 毫秒,占用时间 = 124 毫秒。 SQL Server 分析和编译时间: CPU 时间 = 0 毫秒,占用时间 = 0 毫秒。 SQL Server 执行时间: CPU 时间 = 0 毫秒,占用时间 = 0 毫秒。

结合比较:
SELECT * FROM dbo.TAccounts AS a INNER JOIN dbo.TAccountAssist AS b ON b.FAccountID=a.FID WHERE a.FCompanyID=36052 OPTION(MAXDOP 2) GO SELECT * FROM dbo.TAccounts AS a INNER JOIN dbo.TAccountAssist AS b ON b.FAccountID=a.FID WHERE a.FCompanyID=36052 OPTION(querytraceon 8649) GO

SELECT * FROM dbo.TAccounts AS a INNER JOIN dbo.TAccountAssist AS b ON b.FAccountID=a.FID WHERE a.FCompanyID=36052 GO SELECT * FROM dbo.TAccounts AS a INNER JOIN dbo.TAccountAssist AS b ON b.FAccountID=a.FID WHERE a.FCompanyID=36052 OPTION(MAXDOP 2) GO SELECT * FROM dbo.TAccounts AS a INNER JOIN dbo.TAccountAssist AS b ON b.FAccountID=a.FID WHERE a.FCompanyID=36052 OPTION(querytraceon 8649) GO


浙公网安备 33010602011771号