Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.server -> Analyze Objects Question...
Hello all,
Here are the folloing SQL statement in SQL*Plus. The statements are in sequence:
SQL>select * from sys.dba_analyze_objects; result: one of the rows is table AAA. SQL>select avg_row_len from dba_tables where table_name = 'AAA'; result: avg_row_len is NULL. SQL>analyze table AAA compute statistics; SQL>select avg_row_len from dba_tables where table_name = 'AAA'; result: avg_row_len is 96. SQL>select * from sys.dba_analyze_objects; result: one of the rows is table AAA. SQL>analyze table AAA delete statistics; SQL>select * from sys.dba_analyze_objects; result: one of the rows is table AAA. My question is: Why table AAA always in table sys.dba_analyze_objects? I thinksys.dba_analyze_objects only store the table which have been analyze. However, I find that table AAA is in table sys.dba_analyze_objects before I type "analyze table AAA compute statistics" and after typing "analyze table AAA delete statistics". And which table or view store the table which have been analyze? And what is the unit of avg_row_len? Block or byte?
Thanks,
Jimmy
Received on Sun Nov 22 1998 - 13:00:53 CST