Search notes:

Oracle: DBMS_STATS.GET_TABLE_STATS

create table tq84_stats_test (
    id       integer,
    col_1    varchar2(4000),
    col_2    varchar2(4000)
)
pctfree 0;

begin
   for r in 1 .. trunc(dbms_random.value(20, 1000)) loop
       insert into tq84_stats_test values (
          r,
          dbms_random.string('a', dbms_random.value(1, 4000)),
          dbms_random.string('a', dbms_random.value(1, 4000))
       );
   end loop;
end;
/

begin
   dbms_stats.gather_table_stats (
       ownname          =>  user,
       tabname          => 'tq84_stats_test',
   --  partname         =>  ...
       estimate_percent =>  100,
       method_opt       => 'for all columns size auto',
       cascade          =>  true
   );
end;
/

declare
   nofRows   number;
   nofBlks   number;
   avgLen    number;
begin

   dbms_stats.get_table_stats(
      ownname =>  user          ,
      tabname => 'tq84_stats_test',
      numrows =>  nofRows       ,
      numblks =>  nofBlks       ,
      avgrlen =>  avgLen
   );

   dbms_output.put_line('nofRows: ' || nofRows);
   dbms_output.put_line('nofBlks: ' || nofBlks);
   dbms_output.put_line('avgLen:  ' || avgLen );
end;
/

select
   num_rows,
   blocks,
   avg_row_len
from
   user_tables
where
   table_name = 'TQ84_STATS_TEST';

See also

set_table_stats
dbms_stats

Index