analyze table compute statistics : analyze « SQL PLUS Session Environment « Oracle PL/SQL Tutorial






SQL>
SQL>
SQL> create table myTable1 as select * from all_objects where rownum < 50;

Table created.

SQL> create table myTable2 as select * from all_objects where rownum <= 50;

Table created.

SQL>
SQL> alter table myTable1 add constraint myTable1_pk primary key(object_id);

Table altered.

SQL> alter table myTable2 add constraint myTable2_pk primary key(object_id);

Table altered.

SQL>
SQL> analyze table myTable1 compute statistics
  2  for table for all indexes for all indexed columns;

Table analyzed.

SQL>
SQL> analyze table myTable2 compute statistics
  2  for table for all indexes for all indexed columns;

Table analyzed.

SQL>
SQL> create or replace function get_data( p_object_id in number ) return varchar2
  2  is
  3      l_object_name myTable2.object_name%type;
  4  begin
  5      select object_name into l_object_name
  6        from myTable2
  7       where object_id = p_object_id;
  8      return l_object_name;
  9  exception
 10      when no_data_found then
 11          return NULL;
 12  end;
 13  /

Function created.

SQL>
SQL> select a.object_id, a.object_name oname1, b.object_name oname2
  2    from myTable1 a, myTable2 b
  3   where a.object_id = b.object_id(+);

 OBJECT_ID ONAME1                         ONAME2
---------- ------------------------------ ------------------------------
        20 ICOL$                          ICOL$
        44 I_USER1                        I_USER1
        28 CON$                           CON$
        15 UNDO$                          UNDO$
        29 C_COBJ#                        C_COBJ#
         3 I_OBJ#                         I_OBJ#
        25 PROXY_ROLE_DATA$               PROXY_ROLE_DATA$
        39 I_IND1                         I_IND1
        51 I_CDEF2                        I_CDEF2
        26 I_PROXY_ROLE_DATA$_1           I_PROXY_ROLE_DATA$_1
        17 FILE$                          FILE$

 OBJECT_ID ONAME1                         ONAME2
---------- ------------------------------ ------------------------------
        13 UET$                           UET$
         9 I_FILE#_BLOCK#                 I_FILE#_BLOCK#
        41 I_FILE1                        I_FILE1
        48 I_CON1                         I_CON1
        38 I_OBJ3                         I_OBJ3
         7 I_TS#                          I_TS#
        53 I_CDEF4                        I_CDEF4
        19 IND$                           IND$
        14 SEG$                           SEG$
         6 C_TS#                          C_TS#
        42 I_FILE2                        I_FILE2

 OBJECT_ID ONAME1                         ONAME2
---------- ------------------------------ ------------------------------
        21 COL$                           COL$
        43 I_TS1                          I_TS1
        35 I_UNDO2                        I_UNDO2
         5 CLU$                           CLU$
        23 PROXY_DATA$                    PROXY_DATA$
        24 I_PROXY_DATA$                  I_PROXY_DATA$
        36 I_OBJ1                         I_OBJ1
        46 I_COL2                         I_COL2
        37 I_OBJ2                         I_OBJ2
        54 I_CCOL1                        I_CCOL1
        16 TS$                            TS$

 OBJECT_ID ONAME1                         ONAME2
---------- ------------------------------ ------------------------------
         8 C_FILE#_BLOCK#                 C_FILE#_BLOCK#
        10 C_USER#                        C_USER#
        34 I_UNDO1                        I_UNDO1
        56 BOOTSTRAP$                     BOOTSTRAP$
        12 FET$                           FET$
        33 I_TAB1                         I_TAB1
        32 CCOL$                          CCOL$
        22 USER$                          USER$
        49 I_CON2                         I_CON2
        30 I_COBJ#                        I_COBJ#
        18 OBJ$                           OBJ$

 OBJECT_ID ONAME1                         ONAME2
---------- ------------------------------ ------------------------------
        47 I_COL3                         I_COL3
         2 C_OBJ#                         C_OBJ#
         4 TAB$                           TAB$
        31 CDEF$                          CDEF$
        50 I_CDEF1                        I_CDEF1

49 rows selected.

SQL>
SQL> select object_id, object_name oname1, get_data(object_id) oname2
  2    from myTable1;

 OBJECT_ID ONAME1
---------- ------------------------------
ONAME2
--------------------------------------------------------------------------------
        20 ICOL$
ICOL$

        44 I_USER1
I_USER1

        28 CON$
CON$


 OBJECT_ID ONAME1
---------- ------------------------------
ONAME2
--------------------------------------------------------------------------------
        15 UNDO$
UNDO$

        29 C_COBJ#
C_COBJ#

         3 I_OBJ#
I_OBJ#


 OBJECT_ID ONAME1
---------- ------------------------------
ONAME2
--------------------------------------------------------------------------------
        25 PROXY_ROLE_DATA$
PROXY_ROLE_DATA$

        39 I_IND1
I_IND1

        51 I_CDEF2
I_CDEF2


 OBJECT_ID ONAME1
---------- ------------------------------
ONAME2
--------------------------------------------------------------------------------
        26 I_PROXY_ROLE_DATA$_1
I_PROXY_ROLE_DATA$_1

        17 FILE$
FILE$

        13 UET$
UET$


 OBJECT_ID ONAME1
---------- ------------------------------
ONAME2
--------------------------------------------------------------------------------
         9 I_FILE#_BLOCK#
I_FILE#_BLOCK#

        41 I_FILE1
I_FILE1

        48 I_CON1
I_CON1


 OBJECT_ID ONAME1
---------- ------------------------------
ONAME2
--------------------------------------------------------------------------------
        38 I_OBJ3
I_OBJ3

         7 I_TS#
I_TS#

        53 I_CDEF4
I_CDEF4


 OBJECT_ID ONAME1
---------- ------------------------------
ONAME2
--------------------------------------------------------------------------------
        19 IND$
IND$

        14 SEG$
SEG$

         6 C_TS#
C_TS#


 OBJECT_ID ONAME1
---------- ------------------------------
ONAME2
--------------------------------------------------------------------------------
        42 I_FILE2
I_FILE2

        21 COL$
COL$

        43 I_TS1
I_TS1


 OBJECT_ID ONAME1
---------- ------------------------------
ONAME2
--------------------------------------------------------------------------------
        35 I_UNDO2
I_UNDO2

         5 CLU$
CLU$

        23 PROXY_DATA$
PROXY_DATA$


 OBJECT_ID ONAME1
---------- ------------------------------
ONAME2
--------------------------------------------------------------------------------
        24 I_PROXY_DATA$
I_PROXY_DATA$

        36 I_OBJ1
I_OBJ1

        46 I_COL2
I_COL2


 OBJECT_ID ONAME1
---------- ------------------------------
ONAME2
--------------------------------------------------------------------------------
        37 I_OBJ2
I_OBJ2

        54 I_CCOL1
I_CCOL1

        16 TS$
TS$


 OBJECT_ID ONAME1
---------- ------------------------------
ONAME2
--------------------------------------------------------------------------------
         8 C_FILE#_BLOCK#
C_FILE#_BLOCK#

        10 C_USER#
C_USER#

        34 I_UNDO1
I_UNDO1


 OBJECT_ID ONAME1
---------- ------------------------------
ONAME2
--------------------------------------------------------------------------------
        56 BOOTSTRAP$
BOOTSTRAP$

        12 FET$
FET$

        33 I_TAB1
I_TAB1


 OBJECT_ID ONAME1
---------- ------------------------------
ONAME2
--------------------------------------------------------------------------------
        32 CCOL$
CCOL$

        22 USER$
USER$

        49 I_CON2
I_CON2


 OBJECT_ID ONAME1
---------- ------------------------------
ONAME2
--------------------------------------------------------------------------------
        30 I_COBJ#
I_COBJ#

        18 OBJ$
OBJ$

        47 I_COL3
I_COL3


 OBJECT_ID ONAME1
---------- ------------------------------
ONAME2
--------------------------------------------------------------------------------
         2 C_OBJ#
C_OBJ#

         4 TAB$
TAB$

        31 CDEF$
CDEF$


 OBJECT_ID ONAME1
---------- ------------------------------
ONAME2
--------------------------------------------------------------------------------
        50 I_CDEF1
I_CDEF1


49 rows selected.

SQL>
SQL> begin
  2
  3      for x in ( select a.object_id,
  4                        a.object_name oname1,
  5                        b.object_name oname2
  6                   from myTable1 a, myTable2 b
  7                  where a.object_id = b.object_id(+) )
  8      loop
  9          null;
 10      end loop;
 11
 12      for x in ( select object_id,
 13                        object_name oname1,
 14                        get_data(object_id) oname2
 15                   from myTable1 )
 16      loop
 17          null;
 18      end loop;
 19
 20  end;
 21  /

PL/SQL procedure successfully completed.

SQL>
SQL> drop table myTable1;

Table dropped.

SQL> drop table myTable2;

Table dropped.

SQL>








29.33.analyze
29.33.1.analyze table compute statistics
29.33.2.analyze compute statistics on table with index
29.33.3.Analyze table with user defined column type
29.33.4.analyze table compute statistics for table for all indexes for all indexed columns
29.33.5.analyze and autotrace full outer join and union
29.33.6.analyze and autotrace single column key and multi-column key
29.33.7.analyze and autotrace table with primary key
29.33.8.analyze index t_idx validate structure
29.33.9.analyze table TABLENAME compute statistics;
29.33.10.analyze table after creating index
29.33.11.analyze table estimate statistics
29.33.12.analyze table students compute statistics
29.33.13.analyze table t compute statistics for table for columns id;
29.33.14.analyze table t compute statistics for table, for all indexes, for all indexed columns