求助如何判断执行计划优劣,这两个执行计划哪个好一些?
小灯光环
领域专家: 操作系统技术领域 2016-08-04 09:10:22 查询的数据是一样的,只是SQL写法不同,刚接触这块不太会看,求指点
第一个执行计划:
1 Plan hash value: 3456858857
2
3 ------------------------------------------------------------------------------------------------
4 | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
5 ------------------------------------------------------------------------------------------------
6 | 0 | SELECT STATEMENT | | 11772 | 218K| 207 (1)| 00:00:03 |
7 | 1 | TABLE ACCESS BY INDEX ROWID| T_STUDENTSCORE | 1 | 19 | 2 (0)| 00:00:01 |
8 |* 2 | INDEX RANGE SCAN | IDX_STUDENTSCORE | 1 | | 1 (0)| 00:00:01 |
9 |* 3 | TABLE ACCESS FULL | T_GRADUATESCHOOL | 1 | 15 | 3 (0)| 00:00:01 |
10 | 4 | TABLE ACCESS FULL | T_STUDENTINFO | 11772 | 218K| 207 (1)| 00:00:03 |
11 ------------------------------------------------------------------------------------------------
12
13 Predicate Information (identified by operation id):
14 ---------------------------------------------------
15
16 2 - access("SC"."BMH_"=SYS_OP_C2C(:B1))
17 3 - filter("GS"."SCHOOLCODE_"=:B1)
第二个执行计划:
1 Plan hash value: 692932517
2
3 -------------------------------------------------------------------------------------------
4 | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
5 -------------------------------------------------------------------------------------------
6 | 0 | SELECT STATEMENT | | 11772 | 609K| 244 (2)| 00:00:03 |
7 |* 1 | HASH JOIN RIGHT OUTER | | 11772 | 609K| 244 (2)| 00:00:03 |
8 | 2 | TABLE ACCESS FULL | T_STUDENTSCORE | 11642 | 216K| 32 (0)| 00:00:01 |
9 |* 3 | HASH JOIN RIGHT OUTER| | 11772 | 390K| 211 (1)| 00:00:03 |
10 | 4 | TABLE ACCESS FULL | T_GRADUATESCHOOL | 39 | 585 | 3 (0)| 00:00:01 |
11 | 5 | TABLE ACCESS FULL | T_STUDENTINFO | 11772 | 218K| 207 (1)| 00:00:03 |
12 -------------------------------------------------------------------------------------------
13
14 Predicate Information (identified by operation id):
15 ---------------------------------------------------
16
17 1 - access("SC"."BMH_"(+)=SYS_OP_C2C("STU"."BMH_"))
18 3 - access("STU"."SCHOOLCODE_"="GS"."SCHOOLCODE_"(+))