analyze and autotrace full outer join and union : Analyze « SQL Plus « Oracle PL / SQL

Oracle PL / SQL
1. Aggregate Functions
2. Analytical Functions
3. Char Functions
4. Constraints
5. Conversion Functions
6. Cursor
7. Data Type
8. Date Timezone
9. Hierarchical Query
10. Index
11. Insert Delete Update
12. Large Objects
13. Numeric Math Functions
14. Object Oriented Database
15. PL SQL
16. Regular Expressions
17. Report Column Page
18. Result Set
19. Select Query
20. Sequence
21. SQL Plus
22. Stored Procedure Function
23. Subquery
24. System Packages
25. System Tables Views
26. Table
27. Table Joins
28. Trigger
29. User Previliege
30. View
31. XML
Java
Java Tutorial
Java Source Code / Java Documentation
Java Open Source
Jar File Download
Java Articles
Java Products
Java by API
Photoshop Tutorials
Maya Tutorials
Flash Tutorials
3ds-Max Tutorials
Illustrator Tutorials
GIMP Tutorials
C# / C Sharp
C# / CSharp Tutorial
C# / CSharp Open Source
ASP.Net
ASP.NET Tutorial
JavaScript DHTML
JavaScript Tutorial
JavaScript Reference
HTML / CSS
HTML CSS Reference
C / ANSI-C
C Tutorial
C++
C++ Tutorial
Ruby
PHP
Python
Python Tutorial
Python Open Source
SQL Server / T-SQL
SQL Server / T-SQL Tutorial
Oracle PL/SQL Tutorial
PostgreSQL
SQL / MySQL
MySQL Tutorial
VB.Net
VB.Net Tutorial
Flash / Flex / ActionScript
VBA / Excel / Access / Word
XML
XML Tutorial
Microsoft Office PowerPoint 2007 Tutorial
Microsoft Office Excel 2007 Tutorial
Microsoft Office Word 2007 Tutorial
Oracle PL / SQL » SQL Plus » Analyze 
analyze and autotrace full outer join and union
  

SQL> CREATE TABLE EMP(
  2      EMPNO NUMBER(4NOT NULL,
  3      ENAME VARCHAR2(10),
  4      JOB VARCHAR2(9),
  5      MGR NUMBER(4),
  6      HIREDATE DATE,
  7      SAL NUMBER(72),
  8      COMM NUMBER(72),
  9      DEPTNO NUMBER(2)
 10  );

Table created.

SQL>
SQL> INSERT INTO EMP VALUES(7369'SMITH', 'CLERK', 7902,TO_DATE('17-DEC-1980', 'DD-MON-YYYY'), 800, NULL, 20);

row created.

SQL> INSERT INTO EMP VALUES(7499'ALLEN', 'SALESMAN', 7698,TO_DATE('20-FEB-1981', 'DD-MON-YYYY'), 160030030);

row created.

SQL> INSERT INTO EMP VALUES(7521'WARD', 'SALESMAN', 7698,TO_DATE('22-FEB-1981', 'DD-MON-YYYY'), 125050030);

row created.

SQL> INSERT INTO EMP VALUES(7566'JONES', 'MANAGER', 7839,TO_DATE('2-APR-1981', 'DD-MON-YYYY'), 2975, NULL, 20);

row created.

SQL> INSERT INTO EMP VALUES(7654'MARTIN', 'SALESMAN', 7698,TO_DATE('28-SEP-1981', 'DD-MON-YYYY'), 1250140030);

row created.

SQL> INSERT INTO EMP VALUES(7698'BLAKE', 'MANAGER', 7839,TO_DATE('1-MAY-1981', 'DD-MON-YYYY'), 2850, NULL, 30);

row created.

SQL> INSERT INTO EMP VALUES(7782'CLARK', 'MANAGER', 7839,TO_DATE('9-JUN-1981', 'DD-MON-YYYY'), 2450, NULL, 10);

row created.

SQL> INSERT INTO EMP VALUES(7788'SCOTT', 'ANALYST', 7566,TO_DATE('09-DEC-1982', 'DD-MON-YYYY'), 3000, NULL, 20);

row created.

SQL> INSERT INTO EMP VALUES(7839'KING', 'PRESIDENT', NULL,TO_DATE('17-NOV-1981', 'DD-MON-YYYY'), 5000, NULL, 10);

row created.

SQL> INSERT INTO EMP VALUES(7844'TURNER', 'SALESMAN', 7698,TO_DATE('8-SEP-1981', 'DD-MON-YYYY'), 1500030);

row created.

SQL> INSERT INTO EMP VALUES(7876'ADAMS', 'CLERK', 7788,TO_DATE('12-JAN-1983', 'DD-MON-YYYY'), 1100, NULL, 20);

row created.

SQL> INSERT INTO EMP VALUES(7900'JAMES', 'CLERK', 7698,TO_DATE('3-DEC-1981', 'DD-MON-YYYY'), 950, NULL, 30);

row created.

SQL> INSERT INTO EMP VALUES(7902'FORD', 'ANALYST', 7566,TO_DATE('3-DEC-1981', 'DD-MON-YYYY'), 3000, NULL, 20);

row created.

SQL> INSERT INTO EMP VALUES(7934'MILLER', 'CLERK', 7782,TO_DATE('23-JAN-1982', 'DD-MON-YYYY'), 1300, NULL, 10);

row created.

SQL>
SQL> CREATE TABLE DEPT(
  2      DEPTNO NUMBER(2),
  3      DNAME VARCHAR2(14),
  4      LOC VARCHAR2(13)
  5  );

Table created.

SQL>
SQL> INSERT INTO DEPT VALUES (10'ACCOUNTING', 'NEW YORK');

row created.

SQL> INSERT INTO DEPT VALUES (20'RESEARCH', 'DALLAS');

row created.

SQL> INSERT INTO DEPT VALUES (30'SALES', 'CHICAGO');

row created.

SQL> INSERT INTO DEPT VALUES (40'OPERATIONS', 'BOSTON');

row created.

SQL>
SQL>
SQL> update emp
  2     set deptno = 9
  3   where deptno = 10;

rows updated.

SQL>
SQL>
SQL> alter table emp add constraint emp_pk primary key(empno);

Table altered.

SQL>
SQL> alter table dept add constraint dept_pk primary key(deptno);

Table altered.

SQL>
SQL> analyze table emp compute statistics;

Table analyzed.

SQL>
SQL> analyze table dept compute statistics;

Table analyzed.

SQL>
SQL> set autotrace on explain
SQL>
SQL> select empno, ename, dept.deptno, dname
  2    from emp, dept
  3   where emp.deptno(+= dept.deptno
  4   UNION ALL
  5  select empno, ename, emp.deptno, null
  6    from emp, dept
  7   where emp.deptno = dept.deptno(+)
  8     and dept.deptno is null
  9   order by 1234
 10  /

     EMPNO ENAME          DEPTNO DNAME
---------- ---------- ---------- --------------
      7369 SMITH              20 RESEARCH

      7499 ALLEN              30 SALES
      7521 WARD                  SALES

      7566 JONES              20 RESEARCH

      7654 MARTIN             30 SALES
      7698 BLAKE                 SALES

      7782 CLARK               9

     EMPNO ENAME          DEPTNO DNAME
---------- ---------- ---------- --------------

      7788 SCOTT              20 RESEARCH

      7839 KING                9

      7844 TURNER             30 SALES

      7876 ADAMS              20 RESEARCH

      7900 JAMES              30 SALES


     EMPNO ENAME          DEPTNO DNAME
---------- ---------- ---------- --------------
      7902 FORD               20 RESEARCH

      7934 MILLER              9

                              10 ACCOUNTING

                              40 OPERATIONS


16 rows selected.


Execution Plan
----------------------------------------------------------
Plan hash value: 1556511399

-----------------------------------------------------------------
| Id  | Operation             | Name    | Rows  | Bytes | Cost  |
-----------------------------------------------------------------
|   SELECT STATEMENT      |         |    28 |  1666 |     |
|   |  SORT ORDER BY        |         |    28 |  1666 |     |
|   |   UNION-ALL           |         |       |       |       |
|*  |    HASH JOIN OUTER    |         |    14 |   784 |     |
|   |     TABLE ACCESS FULL | DEPT    |     |    92 |     |
|   |     TABLE ACCESS FULL | EMP     |    14 |   462 |     |
|*  |    FILTER             |         |       |       |       |
|   |     NESTED LOOPS OUTER|         |    14 |   882 |     |
|   |      TABLE ACCESS FULL| EMP     |    14 |   560 |     |
|*  |      INDEX UNIQUE SCAN| DEPT_PK |     |    23 |       |
-----------------------------------------------------------------

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

   - access("EMP"."DEPTNO"(+)="DEPT"."DEPTNO")
   - filter("DEPT"."DEPTNO" IS NULL)
   - access("EMP"."DEPTNO"="DEPT"."DEPTNO"(+))

Note
-----
   - cpu costing is off (consider enabling it)

SQL>
SQL> select empno, ename, nvl(dept.deptno,emp.deptno), dname
  2    from emp FULL OUTER JOIN dept on emp.deptno = dept.deptno )
  3   order by 1234
  4  /

     EMPNO ENAME      NVL(DEPT.DEPTNO,EMP.DEPTNODNAME
---------- ---------- --------------------------- --------------
      7369 SMITH                               20 RESEARCH
      7499 ALLEN                               30 SALES
      7521 WARD                                30 SALES
      7566 JONES                               20 RESEARCH
      7654 MARTIN                              30 SALES
      7698 BLAKE                               30 SALES
      7782 CLARK                                9
      7788 SCOTT                               20 RESEARCH
      7839 KING                                 9
      7844 TURNER                              30 SALES
      7876 ADAMS                               20 RESEARCH

     EMPNO ENAME      NVL(DEPT.DEPTNO,EMP.DEPTNODNAME
---------- ---------- --------------------------- --------------
      7900 JAMES                               30 SALES
      7902 FORD                                20 RESEARCH
      7934 MILLER                               9
                                               10 ACCOUNTING
                                               40 OPERATIONS

16 rows selected.


Execution Plan
----------------------------------------------------------
Plan hash value: 1591132751

--------------------------------------------------------------
| Id  | Operation             | Name | Rows  | Bytes | Cost  |
--------------------------------------------------------------
|   SELECT STATEMENT      |      |    15 |   825 |     |
|   |  SORT ORDER BY        |      |    15 |   825 |     |
|   |   VIEW                |      |    15 |   825 |     |
|   |    UNION-ALL          |      |       |       |       |
|*  |     HASH JOIN OUTER   |      |    14 |   882 |     |
|   |      TABLE ACCESS FULL| EMP  |    14 |   560 |     |
|   |      TABLE ACCESS FULL| DEPT |     |    92 |     |
|*  |     FILTER            |      |       |       |       |
|   |      TABLE ACCESS FULL| DEPT |     |    23 |     |
|*  |      TABLE ACCESS FULL| EMP  |     |    65 |     |
--------------------------------------------------------------

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

   - access("EMP"."DEPTNO"="DEPT"."DEPTNO"(+))
   - filterNOT EXISTS (SELECT /*+ UNNEST */ FROM "EMP" "EMP"
              WHERE "EMP"."DEPTNO"=:B1))
   - filter("EMP"."DEPTNO"=:B1)

Note
-----
   - cpu costing is off (consider enabling it)

SQL>
SQL> set autotrace off
SQL>
SQL> drop table emp;

Table dropped.

SQL> drop table dept;

Table dropped.

   
    
  
Related examples in the same category
1. analyze materialized view
2. analyze index
3. Analyze table with primary key and foreign key
4. Demonstrate IN versus EXISTS performance
5. analyze table tableName compute statistics for table, for all indexes, for all indexed columns;
6. ANALYZE TABLE employee COMPUTE STATISTICS
7. analyze index validate structure
8. analyze table compute statistics
9. analyze table compute statistics for all indexes
10. analyze table compute statistics for a table with two indexes
11. create or replace outline and analyze table compute statistics
12. Analyze a table with/without index
13. Anayze all objects in the APPOWNER schema.
14. Analyze index on varchar2 value and date type value
15. analyze and autotrace single column key and multi-column key
16. analyze and autotrace table with primary key
17. analyze index t_idx validate structure
18. analyze table TABLENAME compute statistics;
19. analyze table after creating index
20. analyze table estimate statistics
21. analyze table students compute statistics
22. analyze table t compute statistics for table for columns id;
23. analyze table t compute statistics for table, for all indexes, for all indexed columns
www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.