Pular para o conteúdo

Como medir tempo de processamento em PL/SQL

Olá,

Nem sempre temos as ferramentas adequadas para identificar gargalos de processamento em uma procedure PL/SQL. As vezes só temos um SQLPlus e um editor de texto disponível, que pode ser um Notepad++ ou VI 🙁

Então se um dia precisar medir o tempo que um trecho de código gasta para processar,  a alternativa é usar o código abaixo, onde coletamos o timestamp inicial e subtraímos com o final.

declare
timestamp1 timestamp;
timestamp2 timestamp;
con number := 0;
begin
timestamp1 := systimestamp;
--
/* procedure ou trecho de código que deseja medir
for cont in 0 .. 9999999 loop
dbms_output.put_line('>>>> ' || cont || ' <<<< '); end loop; */ -- 
timestamp2 := systimestamp; 
if extract(second from (timestamp2 - timestamp1)) > 30 then
dbms_output.put_line('Demorou mais de 30 segundos');
else
dbms_output.put_line('Demorou menos 30 segundos');
end if;
end;

Bons códigos!

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *