david's daily developer note

PL/SQL 2. 다수의 SQL 수행 시간 측정하기. 본문

Develop (kids)

PL/SQL 2. 다수의 SQL 수행 시간 측정하기.

mouse-david 2010. 6. 30. 17:26
728x90
다수의 SQL문 처리나, 혹은 기타의 질의 수행 시간을 알고자 하면, PL/SQL 블록을 만들어서 구할 수 있다. 

아래의 두 명령어 설정으로, 결과를 확인 할 수 있는 환경을 만든다. 

1. PL/SQL의 출력을 본다.
SQL> set serveroutput on

2. 명령어 수행 시간을 확인한다. (PL/SQL 파싱 과정 때문에 위의 구문보다 근소하게 높다.)
SQL> set timing on

다음은 암시적 커서를 사용하는 경우에 대해서 질의 시간을 측정하는 PL/SQL 블록이다.

DECLARE
  l_start number default dbms_utility.get_time;
BEGIN
  insert into test values ('hi');
  
  dbms_output.put_line
       ( round( (dbms_utility.get_time-l_start)/100, 2 ) ||
         ' seconds...' );
END;
/

아래는 명시적 커서의 경우이다.

 DECLARE
  type rc is ref cursor;
  l_rc rc;
  l_start number default dbms_utility.get_time;
  BEGIN
  open l_rc for
  'SELECT * From test';
  close l_rc;
  dbms_output.put_line
       ( round( (dbms_utility.get_time-l_start)/100, 10 ) ||
         ' seconds...' );     
  END;
/
728x90