Mega Code Archive

 
Categories / Oracle PLSQL / System Packages
 

Use dbms_utility to time

SQL> set echo on SQL> SQL> alter system flush shared_pool; System altered. SQL> SQL> set timing on SQL> declare   2      type rc is ref cursor;   3      l_rc rc;   4      l_dummy all_objects.object_name%type;   5      l_start number default dbms_utility.get_time;   6  begin   7      for i in 1 .. 1000   8      loop   9          open l_rc for 'select object_name from all_objects where object_id = ' || i;  10          fetch l_rc into l_dummy;  11          close l_rc;  12      end loop;  13      dbms_output.put_line( round( (dbms_utility.get_time-l_start)/100, 2 ) || ' seconds...' );  14  end;  15  / 37.76 seconds... PL/SQL procedure successfully completed. Elapsed: 00:00:38.10 SQL> set timing off SQL> SQL> --