比较查询两个查询结果相同的查询语句的效率
下面有两条查询记录条数相同的SQL语句,并给出了查询执行计划。但不知道如何来读懂这些内容,请大侠们指教。
俩条SQL语句的内容如下:得出的结果都是39条,
1
SET STATISTICS TIME ON
2
SET STATISTICS IO ON
3![]()
4
select * from drug
5
where drugid in(select drugid from userdrug) and bigid = 0
6![]()
7
select * from userdrug
8
where drugid in (select drugid from drug where bigid = 0)

2

3

4

5

6

7

8

已知:drug表中的记录是1745条; userdrug表中的记录为199条;
执行查询计划如下:
效率分析结果如下:
第一条语句
1
SQL Server 分析和编译时间:
2
CPU 时间 = 0 毫秒,耗费时间 = 0 毫秒。
3![]()
4
SQL Server 执行时间:
5
CPU 时间 = 0 毫秒,耗费时间 = 0 毫秒。
6
SQL Server 分析和编译时间:
7
CPU 时间 = 11 毫秒,耗费时间 = 11 毫秒。
8![]()
9
(所影响的行数为 23 行)
10![]()
11
表 'Drug'。扫描计数 48,逻辑读 108 次,物理读 0 次,预读 0 次。
12
表 'UserDrug'。扫描计数 1,逻辑读 2 次,物理读 0 次,预读 0 次。
13![]()
14
SQL Server 执行时间:
15
CPU 时间 = 0 毫秒,耗费时间 = 7 毫秒。
16![]()
17
SQL Server 执行时间:
18
CPU 时间 = 0 毫秒,耗费时间 = 7 毫秒。
19![]()
20
SQL Server 执行时间:
21
CPU 时间 = 0 毫秒,耗费时间 = 8 毫秒。
22
SQL Server 分析和编译时间:
23
CPU 时间 = 0 毫秒,耗费时间 = 0 毫秒。
24![]()
25
SQL Server 执行时间:
26
CPU 时间 = 0 毫秒,耗费时间 = 0 毫秒。

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

第二条语句
1
SQL Server 分析和编译时间:
2
CPU 时间 = 0 毫秒,耗费时间 = 0 毫秒。
3![]()
4
SQL Server 执行时间:
5
CPU 时间 = 0 毫秒,耗费时间 = 0 毫秒。
6
SQL Server 分析和编译时间:
7
CPU 时间 = 0 毫秒,耗费时间 = 8 毫秒。
8![]()
9
(所影响的行数为 23 行)
10![]()
11
表 'Drug'。扫描计数 199,逻辑读 419 次,物理读 0 次,预读 0 次。
12
表 'UserDrug'。扫描计数 1,逻辑读 2 次,物理读 0 次,预读 0 次。
13![]()
14
SQL Server 执行时间:
15
CPU 时间 = 0 毫秒,耗费时间 = 2 毫秒。
16![]()
17
SQL Server 执行时间:
18
CPU 时间 = 0 毫秒,耗费时间 = 3 毫秒。
19![]()
20
SQL Server 执行时间:
21
CPU 时间 = 0 毫秒,耗费时间 = 3 毫秒。
22
SQL Server 分析和编译时间:
23
CPU 时间 = 0 毫秒,耗费时间 = 0 毫秒。
24![]()
25
SQL Server 执行时间:
26
CPU 时间 = 0 毫秒,耗费时间 = 0 毫秒。

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26
