- This topic has 2 replies, 2 voices, and was last updated 19 years, 8 months ago by celsofrias.
Viewing 3 posts - 1 through 3 (of 3 total)
Viewing 3 posts - 1 through 3 (of 3 total)
- You must be logged in to reply to this topic.
Boa tarde amigos,
Como posso saber o tempo de resposta da minha query?
Tentei usar o EXPLAIN PLAN, mas n?o obtive sucesso.
Att,
Celso
Celso, bom dia.
O Explain Plan s? te mostra como foi executada a query, ou seja, se utilizou algum ?ndice, se fez full table scan, etc.
Para verificar corretamente o tempo de uma query, vc tem q utilizar um procedimento um pouco mais complicado.
Tem algumas formas. A q eu vou te passar n?o ? a mais simples, mas ? a ?nica q sei de cabe?a:
1) Entre em uma sess?o do SQLPlus para executar a query.
2) Entre em outra sess?o com o usu?rio SYS.
3) Na sess?o com usu?rio SYS descubra o SID e SERIAL# da sess?o aberta no passo 1. Utilize os campos USERNAME, OSUSER, TERMINAL, MACHINE da tabela SYS.V$SESSION para descobrir isto.
4) Assim q descobrir o SID e o SERIAL# uilize o comando:
SQL> exec sys.dbms_system.set_sql_trace_in_session(SID,SERAIL#,true);
Este procedimento ir? gerar um arquivo de dump no diret?rio indicado pela vari?vel USER_DUMP_DEST.
5) Execute a query na sess?o aberta no passo 1 e espere o seu retorno completo.
6) desabilite o trace:
SQL> exec sys.dbms_system.set_sql_trace_in_session(SID,SERAIL#,false);
ou fecha a sess?o . ( os dois t?m o mesmo efeito).
Nete ponto foi gerado o arquivo de trace. Para verificar onde, na sess?o aberta como sys digite:
SQL> show parameter user_dump_dest;
Execute o comando na linha de comandos do sistema operacional:
tkprof nome_do_arquiv_gerado nome_do_arquivo_de_saida explain=usuario_da_query/senha_do_usuario;
O nome do arquivo de sa?da ? vc q d?.
Nele vai haver muitas informa??es sobre sua query, incluindo o tempo que gastou, al?m do plano de execu??o, etc.
A Oracle diz q ? a forma mais precisa de verificar o andamento de uma query.
Eu utilizo bastante este procedimento para resolver problemas de performance e de aplica??o.
No pr?prio arquivo gerado tem algumas intru??es sobre as informa??es q ele traz. Mas para saber tudo com detalhe vc vai ter q estudar os manuais de performance.
Espero q ajude.
QQ d?vida neste procedimento, por favor poste uma nova mensagem.
Abra?os.
Tem como eu ter uma estimativa do tempo, sem ter que executar a query?
Abra?os,
Celso Frias