Database Reference
In-Depth Information
16.5.1
Ein Fall mit einer fehlerhaften Query-Transformation
Diesen Fall werde ich anhand meines kleinen Test-Case präsentieren, den ich bei der je-
weiligen Problemanalyse erstellt und für diesen Abschnitt noch etwas vereinfacht habe.
Zunächst lege ich 2 kleine Tabellen an:
SQL> create table a(a1 number, a2 number);
Table created.
SQL>
SQL> insert into a values (1,1);
1 row created.
SQL>
SQL> create table b(b1 number, b2 number);
Table created.
SQL>
SQL> insert into b(b1,b2) select * from a connect by level <= 5;
5 rows created.
SQL> commit;
Commit complete.
Danach starte ich den Test-Case, der sehr einfach aufgebaut ist:
SQL> select 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
---------- ---------- ----------
2 1 1
4 1 1
1 1 1
5 1 1
3 1 1
Search WWH ::




Custom Search