2014-02-12 2 views
1

저는 오라클에 상당히 익숙합니다 (윈도우 머신에서 SQL 개발자를 사용하여 우분투 서버에서 오라클 12를 실행하고 관리합니다). 그리고 대량의 실행 시간을 측정하려고합니다. 다른 진술/쿼리의.오라클 - 쿼리 실행 시간을 단축하십시오.

많은 수의 쿼리를 대량으로 실행 한 다음 각 쿼리에 필요한 시간을 내보내는 최적의 방법입니다. 결과 자체는 사소한 것입니다. 실행 시간 만 기록하는 데 관심이 있습니다.

미리 감사

+0

이 질문에 logfiles 태그가 있습니다. 지금 로깅하고 있습니까? –

+0

내부 SQL 개발자 인터페이스 만 사용하십시오. configfile을 편집하고 "IncludeConfFile sqldeveloper-debug.conf AddVMOption -Dcom.methodr.loglevel = all"을 추가했습니다. 일부 내부 프로세스를 표시하지만 로그 기간을 허용하지 않는 것 같습니다. 여기에 잘못되었을 수도 있습니다. – user2092635

답변

1

에 당신은 당신이 필요로하는 DBMS_UTILITY.GET_TIME 기능을 사용할 수 있습니다. 예를 들면. 당신의 SQL * Plus를 사용하는 경우

Oherwise는, 사용자가 설정할 수 ...

SET SERVEROUTPUT ON 

DECLARE 
    my_time PLS_INTEGER; 
BEGIN 
    my_time := DBMS_UTILITY.GET_TIME; 

    SELECT ... FROM ...; -- Query 1 

    DBMS_OUTPUT.PUT_LINE('Elapsed time: ' || TO_CHAR(DBMS_UTILITY.GET_TIME - my_time) || ' hsecs'); 

    my_time := DBMS_UTILITY.GET_TIME; 

    SELECT ... FROM ...; -- Query 2 

    DBMS_OUTPUT.PUT_LINE('Elapsed time: ' || TO_CHAR(DBMS_UTILITY.GET_TIME - my_time) || ' hsecs'); 

    -- ... and so on ... 
END; 
/

등 :

set timing on 

을 당신은 경과 시간을 볼 수 있습니다 .. 이런 식으로 뭔가를 시도

관련 문제