Mega Code Archive

 
Categories / Oracle PLSQL Tutorial / SQL PLUS Session Environment
 

Time the PLSQL block

SQL> 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      myStart 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-myStart)/100, 2 ) ||' seconds...' );  14  end;  15  / 20.19 seconds... PL/SQL procedure successfully completed. Elapsed: 00:00:20.27 SQL> SQL> declare   2      type rc is ref cursor;   3      l_rc rc;   4      l_dummy all_objects.object_name%type;   5      myStart 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 = :x'  10          using i;  11          fetch l_rc into l_dummy;  12          close l_rc;  13      end loop;  14      dbms_output.put_line( round( (dbms_utility.get_time-myStart)/100, 2 ) ||' seconds...' );  15  end;  16  / .19 seconds... PL/SQL procedure successfully completed. Elapsed: 00:00:00.20 SQL> SQL> set timing off