比较查询两个查询结果相同的查询语句的效率
下面有两条查询记录条数相同的SQL语句,并给出了查询执行计划。但不知道如何来读懂这些内容,请大侠们指教。
俩条SQL语句的内容如下:得出的结果都是39条,
1SET STATISTICS TIME ON
2SET STATISTICS IO ON
3
4select * from drug
5where drugid in(select drugid from userdrug) and bigid = 0
6
7select * from userdrug
8where drugid in (select drugid from drug where bigid = 0)
2SET STATISTICS IO ON
3
4select * from drug
5where drugid in(select drugid from userdrug) and bigid = 0
6
7select * from userdrug
8where drugid in (select drugid from drug where bigid = 0)
已知:drug表中的记录是1745条; userdrug表中的记录为199条;
执行查询计划如下:
效率分析结果如下:
第一条语句
1SQL Server 分析和编译时间:
2 CPU 时间 = 0 毫秒,耗费时间 = 0 毫秒。
3
4SQL Server 执行时间:
5 CPU 时间 = 0 毫秒,耗费时间 = 0 毫秒。
6SQL Server 分析和编译时间:
7 CPU 时间 = 11 毫秒,耗费时间 = 11 毫秒。
8
9(所影响的行数为 23 行)
10
11表 'Drug'。扫描计数 48,逻辑读 108 次,物理读 0 次,预读 0 次。
12表 'UserDrug'。扫描计数 1,逻辑读 2 次,物理读 0 次,预读 0 次。
13
14SQL Server 执行时间:
15 CPU 时间 = 0 毫秒,耗费时间 = 7 毫秒。
16
17SQL Server 执行时间:
18 CPU 时间 = 0 毫秒,耗费时间 = 7 毫秒。
19
20SQL Server 执行时间:
21 CPU 时间 = 0 毫秒,耗费时间 = 8 毫秒。
22SQL Server 分析和编译时间:
23 CPU 时间 = 0 毫秒,耗费时间 = 0 毫秒。
24
25SQL Server 执行时间:
26 CPU 时间 = 0 毫秒,耗费时间 = 0 毫秒。
2 CPU 时间 = 0 毫秒,耗费时间 = 0 毫秒。
3
4SQL Server 执行时间:
5 CPU 时间 = 0 毫秒,耗费时间 = 0 毫秒。
6SQL Server 分析和编译时间:
7 CPU 时间 = 11 毫秒,耗费时间 = 11 毫秒。
8
9(所影响的行数为 23 行)
10
11表 'Drug'。扫描计数 48,逻辑读 108 次,物理读 0 次,预读 0 次。
12表 'UserDrug'。扫描计数 1,逻辑读 2 次,物理读 0 次,预读 0 次。
13
14SQL Server 执行时间:
15 CPU 时间 = 0 毫秒,耗费时间 = 7 毫秒。
16
17SQL Server 执行时间:
18 CPU 时间 = 0 毫秒,耗费时间 = 7 毫秒。
19
20SQL Server 执行时间:
21 CPU 时间 = 0 毫秒,耗费时间 = 8 毫秒。
22SQL Server 分析和编译时间:
23 CPU 时间 = 0 毫秒,耗费时间 = 0 毫秒。
24
25SQL Server 执行时间:
26 CPU 时间 = 0 毫秒,耗费时间 = 0 毫秒。
第二条语句
1SQL Server 分析和编译时间:
2 CPU 时间 = 0 毫秒,耗费时间 = 0 毫秒。
3
4SQL Server 执行时间:
5 CPU 时间 = 0 毫秒,耗费时间 = 0 毫秒。
6SQL Server 分析和编译时间:
7 CPU 时间 = 0 毫秒,耗费时间 = 8 毫秒。
8
9(所影响的行数为 23 行)
10
11表 'Drug'。扫描计数 199,逻辑读 419 次,物理读 0 次,预读 0 次。
12表 'UserDrug'。扫描计数 1,逻辑读 2 次,物理读 0 次,预读 0 次。
13
14SQL Server 执行时间:
15 CPU 时间 = 0 毫秒,耗费时间 = 2 毫秒。
16
17SQL Server 执行时间:
18 CPU 时间 = 0 毫秒,耗费时间 = 3 毫秒。
19
20SQL Server 执行时间:
21 CPU 时间 = 0 毫秒,耗费时间 = 3 毫秒。
22SQL Server 分析和编译时间:
23 CPU 时间 = 0 毫秒,耗费时间 = 0 毫秒。
24
25SQL Server 执行时间:
26 CPU 时间 = 0 毫秒,耗费时间 = 0 毫秒。
2 CPU 时间 = 0 毫秒,耗费时间 = 0 毫秒。
3
4SQL Server 执行时间:
5 CPU 时间 = 0 毫秒,耗费时间 = 0 毫秒。
6SQL Server 分析和编译时间:
7 CPU 时间 = 0 毫秒,耗费时间 = 8 毫秒。
8
9(所影响的行数为 23 行)
10
11表 'Drug'。扫描计数 199,逻辑读 419 次,物理读 0 次,预读 0 次。
12表 'UserDrug'。扫描计数 1,逻辑读 2 次,物理读 0 次,预读 0 次。
13
14SQL Server 执行时间:
15 CPU 时间 = 0 毫秒,耗费时间 = 2 毫秒。
16
17SQL Server 执行时间:
18 CPU 时间 = 0 毫秒,耗费时间 = 3 毫秒。
19
20SQL Server 执行时间:
21 CPU 时间 = 0 毫秒,耗费时间 = 3 毫秒。
22SQL Server 分析和编译时间:
23 CPU 时间 = 0 毫秒,耗费时间 = 0 毫秒。
24
25SQL Server 执行时间:
26 CPU 时间 = 0 毫秒,耗费时间 = 0 毫秒。