Database Reference
In-Depth Information
SQL> select /*+ no_query_transformation */ distinct
2 rownum,
3 a1,
4 a2
5 from a a
6 where a1=1 and exists (select /*+ unnest */ 'X' from b b where a.a1 = b.b1);
ROWNUM A1 A2
---------- ---------- ----------
1 1 1
Plan hash value: 2582792790
----------------------------------------------------------------------------------------------
--------------------
| Id | Operation | Name | Starts | E-Rows | A-Rows | A-Time | Buffers | OMem
| 1Mem | Used-Mem |
----------------------------------------------------------------------------------------------
--------------------
| 0 | SELECT STATEMENT | | 1 | | 1 |00:00:00.01 | 6 |
| | |
| 1 | HASH UNIQUE | | 1 | 1 | 1 |00:00:00.01 | 6 |
910K| 910K| 414K (0)|
| 2 | COUNT | | 1 | | 1 |00:00:00.01 | 6 |
| | |
|* 3 | FILTER | | 1 | | 1 |00:00:00.01 | 6 |
| | |
|* 4 | TABLE ACCESS FULL| A | 1 | 1 | 1 |00:00:00.01 | 3 |
| | |
|* 5 | TABLE ACCESS FULL| B | 1 | 1 | 1 |00:00:00.01 | 3 |
| | |
----------------------------------------------------------------------------------------------
--------------------
Predicate Information (identified by operation id):
---------------------------------------------------
3 - filter( IS NOT NULL)
4 - filter("A1"=1)
5 - filter("B"."B1"=:B1)
Die Suche nach einem bekannten Problem hat nichts ergeben. Aus diesem Grund wurde
ein Service Request und später ein Bug bei Oracle eröffnet.
Fazit
• vieleProblemeausderKategorie„falscheErgebnisse“sindeinfacheralssiezunächst
scheinen,
• eineAnalysedesjeweiligenAusführungsplanshilftoftbeiihrerKlärung
16.6
Ein paar Empfehlungen für die Anfänger
Diese einfachen Prinzipien benutze ich selber bei meiner Tätigkeit. Ich hoffe sehr, dass
diese Empfehlungen auch Ihnen bei den Problemanalysen helfen können.