Pular para o conteúdo
Viewing 3 posts - 1 through 3 (of 3 total)
  • Author
    Posts
  • #74332
    Avatar de celsofriascelsofrias
    Participant

      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

      #74335
      Avatar de ebertfmebertfm
      Participant

        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;

        • 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.

        #74338
        Avatar de celsofriascelsofrias
        Participant

          Tem como eu ter uma estimativa do tempo, sem ter que executar a query?

          Abra?os,
          Celso Frias

        Viewing 3 posts - 1 through 3 (of 3 total)
        • You must be logged in to reply to this topic.
        plugins premium WordPress