请高手看看

explain plan for SELECT * FROM TEST_A A WHERE not exists (select D.A from ((SELECT B.A FROM TEST_B B) union (SELECT C.A FROM TEST_C C)) D where A.A = D.A);

解析されました。

select * from table(dbms_xplan.display);

PLAN_TABLE_OUTPUT
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Plan hash value: 3234838845

----------------------------------------------------------------------------------------------
| Id  | Operation                | Name              | Rows  | Bytes | Cost (%CPU)| Time     |
----------------------------------------------------------------------------------------------
|   0 | SELECT STATEMENT         |                   |     4 |   140 |    10  (30)| 00:00:01 |
|*  1 |  HASH JOIN ANTI          |                   |     4 |   140 |    10  (30)| 00:00:01 |
|   2 |   TABLE ACCESS FULL      | TEST_A            |     5 |   140 |     3   (0)| 00:00:01 |
|   3 |   VIEW                   |                   |     6 |    42 |     6  (34)| 00:00:01 |
|   4 |    SORT UNIQUE           |                   |     6 |    42 |     6  (67)| 00:00:01 |
|   5 |     UNION-ALL            |                   |       |       |            |          |
|   6 |      INDEX FAST FULL SCAN| TEST_B_PRIMARYKEY |     3 |    21 |     2   (0)| 00:00:01 |
|   7 |      INDEX FAST FULL SCAN| TEST_C_PRIMARYKEY |     3 |    21 |     2   (0)| 00:00:01 |
----------------------------------------------------------------------------------------------

Predicate Information (identified by operation id):
---------------------------------------------------

   1 - access("A"."A"="D"."A")

Note
-----
   - dynamic sampling used for this statement

23行が選択されました。








TEST_A
        A        B        C        D
1        5        5        5        5
2        1        1        1        1
3        2        2        2        2
4        3        3        3        3
5        4        4        4        4

TEST_B
        A        B        C        D
1        1        1        1        1
2        2        2        2        2
3        3        3        3        3

TEST_C
        A        B        C        D
1        1        1        1        1
2        2        2        2        2
3        4        4        4        4
我也来说两句 查看全部回复

最新回复

  • jzwuchen (2008-8-08 11:28:48)

    好~~~~支持一下~继续努力~~~~graphite crucible
  • cgd_60802 (2008-8-09 09:06:28)

    1 - access("A"."A"="D"."A")这句话不明白是什么意思

    还有就是Predicate Information (identified by operation id):和dynamic sampling used for this statement有没有资料讲解其中的都是什么意思
  • liangjian0 (2008-8-09 09:30:35)

    看不明白啊
















    神墓
  • cgd_60802 (2008-8-13 22:27:46)

    自己在顶一下