Profiler for recursive function : DBMS_PROFILER « System Packages « Oracle PL/SQL Tutorial






SQL>
SQL> exec dbms_profiler.start_profiler( 'factorial recursive' )
BEGIN dbms_profiler.start_profiler( 'factorial recursive' ); END;

SQL>
SQL> create or replace
  2  function fact_recursive( n int ) return number
  3  as
  4  begin
  5          if ( n = 1 )
  6          then
  7                  return 1;
  8          else
  9                  return n * fact_recursive(n-1);
 10          end if;
 11  end;
 12  /

Function created.

SQL> begin
  2      for i in 1 .. 50 loop
  3          dbms_output.put_line( fact_recursive(50) );
  4      end loop;
  5  end;
  6  /
30414093201713378043612608166064768844300000000000000000000000000
30414093201713378043612608166064768844300000000000000000000000000
30414093201713378043612608166064768844300000000000000000000000000
30414093201713378043612608166064768844300000000000000000000000000
30414093201713378043612608166064768844300000000000000000000000000
30414093201713378043612608166064768844300000000000000000000000000
30414093201713378043612608166064768844300000000000000000000000000
30414093201713378043612608166064768844300000000000000000000000000
30414093201713378043612608166064768844300000000000000000000000000
30414093201713378043612608166064768844300000000000000000000000000
30414093201713378043612608166064768844300000000000000000000000000
30414093201713378043612608166064768844300000000000000000000000000
30414093201713378043612608166064768844300000000000000000000000000
30414093201713378043612608166064768844300000000000000000000000000
30414093201713378043612608166064768844300000000000000000000000000
30414093201713378043612608166064768844300000000000000000000000000
30414093201713378043612608166064768844300000000000000000000000000
30414093201713378043612608166064768844300000000000000000000000000
30414093201713378043612608166064768844300000000000000000000000000
30414093201713378043612608166064768844300000000000000000000000000
30414093201713378043612608166064768844300000000000000000000000000
30414093201713378043612608166064768844300000000000000000000000000
30414093201713378043612608166064768844300000000000000000000000000
30414093201713378043612608166064768844300000000000000000000000000
30414093201713378043612608166064768844300000000000000000000000000
30414093201713378043612608166064768844300000000000000000000000000
30414093201713378043612608166064768844300000000000000000000000000
30414093201713378043612608166064768844300000000000000000000000000
30414093201713378043612608166064768844300000000000000000000000000
30414093201713378043612608166064768844300000000000000000000000000
30414093201713378043612608166064768844300000000000000000000000000
30414093201713378043612608166064768844300000000000000000000000000
30414093201713378043612608166064768844300000000000000000000000000
30414093201713378043612608166064768844300000000000000000000000000
30414093201713378043612608166064768844300000000000000000000000000
30414093201713378043612608166064768844300000000000000000000000000
30414093201713378043612608166064768844300000000000000000000000000
30414093201713378043612608166064768844300000000000000000000000000
30414093201713378043612608166064768844300000000000000000000000000
30414093201713378043612608166064768844300000000000000000000000000
30414093201713378043612608166064768844300000000000000000000000000
30414093201713378043612608166064768844300000000000000000000000000
30414093201713378043612608166064768844300000000000000000000000000
30414093201713378043612608166064768844300000000000000000000000000
30414093201713378043612608166064768844300000000000000000000000000
30414093201713378043612608166064768844300000000000000000000000000
30414093201713378043612608166064768844300000000000000000000000000
30414093201713378043612608166064768844300000000000000000000000000
30414093201713378043612608166064768844300000000000000000000000000
30414093201713378043612608166064768844300000000000000000000000000

PL/SQL procedure successfully completed.

SQL>
SQL>
SQL> exec dbms_profiler.stop_profiler

PL/SQL procedure successfully completed.

SQL>








31.20.DBMS_PROFILER
31.20.1.DBMS_PROFILER.get_version
31.20.2.Capture DBMS_PROFILER information for the specified script
31.20.3.Demonstrate DBMS_PROFILER
31.20.4.dbms_profiler.start_profiler
31.20.5.Use DBMS_PROFILER to compare the performance differences between row-at-a-time processing and bulk processing
31.20.6.Profiler for recursive function
31.20.7.Call dbms_profiler.start_profiler to start profiler