Oracle sqlplus에서 sql 스크립트의 실행 시간 가져오기
Oracle 테이블에 데이터를 로드하는 데 사용하는 스크립트가 있습니다(삽입문 목록 기준).전체 로딩 프로세스의 실행 시간을 어떻게 얻을 수 있습니까?와 해본 적이 있습니다.set timing on
전체 프로세스가 아니라 각 삽입문에 대한 기간을 제공합니다.스크립트는 다음과 같습니다.
spo load.log
prompt '**** load data ****'
set termout off
@@inserts.sql
commit;
set termout on
prompt '**** done ****'
spo off
exit;
왜 모든 사람들이 그것을 그렇게 복잡하게 만드는지 잘 모르겠습니다.다음과 같이 간단:
SQL> set timing on
SQL> select 1 from dual;
1
----------
1
1 row selected.
Elapsed: 00:00:00.00
SQL>
오래된 질문이지만 sqlplus에서 스크립트 실행 시간을 측정하는 쉬운 방법을 찾았습니다.당신은 이것을 처음에 추가하기만 하면 됩니다.
timing start timing_name
그리고 이것은 대본의 끝에 있습니다.
timing stop
이 명령에 대한 자세한 내용은 Oracle의 SQL*Plus® 사용자 가이드 및 참조: 타이밍 통계 수집에서 확인할 수 있습니다.
시작할 때 다음을 추가하면 현재 시간이 기억됩니다.
set serveroutput on
variable n number
exec :n := dbms_utility.get_time
마지막에 이 값을 추가하면 경과 시간이 계산됩니다.
exec :n := (dbms_utility.get_time - :n)/100
exec dbms_output.put_line(:n)
유닉스에 있는 경우 다음과 같이 수행할 수도 있습니다.
time sqlplus @inserts.sql
다음과 같이 인쇄됩니다.
real 0m9.34s
user 0m2.03s
sys 0m1.02s
첫 번째 줄은 총 실행 시간을 나타냅니다.
설명하는 것은 기본적으로 스크립트의 실행을 감사하는 방법입니다.경과된 시간인지 캡처 중인 특정 시작 및 종료 시간인지 여부에 관계없이 해당 시간을 올바르게 기록하여 문제가 잘 해결되었는지 여부를 확인합니다(또는 그렇지 않은 경우에는 그렇지 않은 이유는 무엇입니까?
다음은 구현 중인 모든 데이터베이스 활동을 캡처하고 기록하는 데 사용하는 것과 유사한 템플릿입니다.우리는 그것을 사용합니다.sqlplus.exe
모든 DDL 업데이트(예:CREATE TABLE
) 및 설정 테이블에 삽입하는 경우.
--Beginning of all SQL scripts:
set serveroutput on feedback on echo on verify on sqlblanklines on timing on define on
col time new_v v_time
col name new_v v_name
col user new_v v_user
select name, USER, to_char(sysdate, 'YYYYMMDD-HH24MISS') time from v$database;
--Creates a new log file every time the script is run, and it's immediately
--obvious when it was run, which environment it ran in, and who ran it.
spool &v_time._&v_name._&v_user..log
--Run the select again so it appears in the log file itself
select name, USER, to_char(sysdate, 'YYYYMMDD-HH24MISS') time from v$database;
작업 본문을 여기에 배치합니다.
--End of all SQL scripts:
select name, USER, to_char(sysdate, 'YYYYMMDD-HH24MISS') time from v$database;
spool off
언급URL : https://stackoverflow.com/questions/8401270/get-execution-time-of-sql-script-in-oracle-sqlplus
'source' 카테고리의 다른 글
MongoDB(MongoDB+Node js 콤보)에 삽입하기 전에 사용자 입력을 검사해야 합니까? (0) | 2023.06.25 |
---|---|
스프링 부팅 시 최대 절전 모드를 사용하여 자동 UUID를 생성하는 방법 (0) | 2023.06.25 |
코드와 비교하여 자바 메이븐 스프링 부트 앱을 디버깅하는 방법은 무엇입니까? (0) | 2023.06.25 |
비트 버킷에서 분기 삭제 (0) | 2023.06.25 |
함수에서 반환을 명시적으로 호출할지 여부 (0) | 2023.06.25 |