IN、EXISTS、INNER JOIN 比较
--1 SET STATISTICS TIME ON SET STATISTICS IO ON SELECT * FROM dbo.TOrders WHERE FUserID IN ( SELECT FID FROM dbo.TAccounts WHERE FCompanyID = 36052 ) SET STATISTICS TIME OFF SET STATISTICS IO OFF
SQL Server 执行时间: CPU 时间 = 0 毫秒,占用时间 = 0 毫秒。 (37682 行受影响) 表 'Workfile'。扫描计数 0,逻辑读取 0 次,物理读取 0 次,预读 0 次,lob 逻辑读取 0 次,lob 物理读取 0 次,lob 预读 0 次。 表 'Worktable'。扫描计数 0,逻辑读取 0 次,物理读取 0 次,预读 0 次,lob 逻辑读取 0 次,lob 物理读取 0 次,lob 预读 0 次。 表 'TOrders'。扫描计数 1,逻辑读取 1141 次,物理读取 0 次,预读 0 次,lob 逻辑读取 31088 次,lob 物理读取 0 次,lob 预读 7625 次。 表 'TAccounts'。扫描计数 1,逻辑读取 25 次,物理读取 0 次,预读 0 次,lob 逻辑读取 0 次,lob 物理读取 0 次,lob 预读 0 次。 SQL Server 执行时间: CPU 时间 = 390 毫秒,占用时间 = 1661 毫秒。

--2 SET STATISTICS TIME ON SET STATISTICS IO ON SELECT a.* FROM dbo.TOrders AS a WHERE EXISTS ( SELECT 1 FROM dbo.TAccounts AS b WHERE b.FID = a.FUserID AND b.FCompanyID = 36052 ) SET STATISTICS TIME OFF SET STATISTICS IO OFF
SQL Server 执行时间: CPU 时间 = 0 毫秒,占用时间 = 0 毫秒。 (37682 行受影响) 表 'Workfile'。扫描计数 0,逻辑读取 0 次,物理读取 0 次,预读 0 次,lob 逻辑读取 0 次,lob 物理读取 0 次,lob 预读 0 次。 表 'Worktable'。扫描计数 0,逻辑读取 0 次,物理读取 0 次,预读 0 次,lob 逻辑读取 0 次,lob 物理读取 0 次,lob 预读 0 次。 表 'TOrders'。扫描计数 1,逻辑读取 1141 次,物理读取 0 次,预读 0 次,lob 逻辑读取 31088 次,lob 物理读取 0 次,lob 预读 7625 次。 表 'TAccounts'。扫描计数 1,逻辑读取 25 次,物理读取 0 次,预读 0 次,lob 逻辑读取 0 次,lob 物理读取 0 次,lob 预读 0 次。 SQL Server 执行时间: CPU 时间 = 250 毫秒,占用时间 = 1608 毫秒。

--3 SET STATISTICS TIME ON SET STATISTICS IO ON SELECT a.* FROM dbo.TOrders AS a INNER JOIN dbo.TAccounts AS b ON b.FID = a.FUserID AND b.FCompanyID = 36052 SET STATISTICS TIME OFF SET STATISTICS IO OFF
SQL Server 执行时间: CPU 时间 = 0 毫秒,占用时间 = 0 毫秒。 (37682 行受影响) 表 'Workfile'。扫描计数 0,逻辑读取 0 次,物理读取 0 次,预读 0 次,lob 逻辑读取 0 次,lob 物理读取 0 次,lob 预读 0 次。 表 'Worktable'。扫描计数 0,逻辑读取 0 次,物理读取 0 次,预读 0 次,lob 逻辑读取 0 次,lob 物理读取 0 次,lob 预读 0 次。 表 'TOrders'。扫描计数 1,逻辑读取 1141 次,物理读取 0 次,预读 0 次,lob 逻辑读取 31088 次,lob 物理读取 0 次,lob 预读 7625 次。 表 'TAccounts'。扫描计数 1,逻辑读取 25 次,物理读取 0 次,预读 0 次,lob 逻辑读取 0 次,lob 物理读取 0 次,lob 预读 0 次。 SQL Server 执行时间: CPU 时间 = 297 毫秒,占用时间 = 1633 毫秒。
① IN
② EXISTS
③ INNER JOIN
目前速度比较:② > ③ > ①

浙公网安备 33010602011771号