Pular para o conteúdo
Visualizando 2 posts - 16 até 17 (de 17 do total)
  • Autor
    Posts
  • #104535
    Avatar de josenizjoseniz
    Participante

      O aumento da TEMP é óbvio já que o rdbms não consegue terminar a operação.

      A operação de ordenação será a última coisa a ser feita, supondo que cada registro tenha 2K não será usado mais que 15M de TEMP para 7939 registros.

      Outras operações como GROUP BY explicito (ou implicito via DISTINCT), HASH JOIN, MERGE JOINS e tabelas temporárias globais tambem consomem espaço na TEMP ts.

      O maior consumo de TEMP deve estar na resolução da query, nas operações de HASH/MERGE JOIN. Identifique se realmente são a causa fazendo um EXPLAIN da query…. Verifique se a função usada na lista de campos não consume ainda mais TEMP.

      Identifique a sessão e quanto de TEMP é consumido com a query abaixo.
      SELECT b.TABLESPACE
      , b.segfile#
      , b.segblk#
      , ROUND ( ( ( b.blocks * p.VALUE ) / 1024 / 1024 ), 2 ) size_mb
      , a.SID
      , a.serial#
      , a.username
      , a.osuser
      , a.program
      , a.status
      FROM v$session a
      , v$sort_usage b
      , v$process c
      , v$parameter p
      WHERE p.NAME = 'db_block_size'
      AND a.saddr = b.session_addr
      AND a.paddr = c.addr
      ORDER BY b.TABLESPACE
      , b.segfile#
      , b.segblk#
      , b.blocks;

      #104542
      Avatar de maperesmaperes
      Participante

        Boa tarde, Fabio Prado

        Você tem conhecimento de algum artigo da Oracle, que diz respeito ao uso da cláusula order by, tipo boas práticas de uso.

        Abraço

        Marco Aurelio

      Visualizando 2 posts - 16 até 17 (de 17 do total)
      • Você deve fazer login para responder a este tópico.
      plugins premium WordPress