- Este tópico contém 2 respostas, 2 vozes e foi atualizado pela última vez 21 anos atrás por
celsofrias.
-
AutorPosts
-
3 de março de 2005 às 9:37 pm #74332
celsofrias
ParticipanteBoa tarde amigos,
Como posso saber o tempo de resposta da minha query?
Tentei usar o EXPLAIN PLAN, mas n?o obtive sucesso.Att,
Celso4 de março de 2005 às 5:39 pm #74335ebertfm
ParticipanteCelso, 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;
- V? at? este diret?rio (no servidor Oracle).
- identifique o arquivo (provavelmente ? o ?ltimo criado).
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.
4 de março de 2005 às 11:32 pm #74338celsofrias
ParticipanteTem como eu ter uma estimativa do tempo, sem ter que executar a query?
Abra?os,
Celso Frias -
AutorPosts
- Você deve fazer login para responder a este tópico.