Pular para o conteúdo
Visualizando 4 posts - 1 até 4 (de 4 do total)
  • Autor
    Posts
  • #96364
    Ronin
    Participante

      Boa noite, pessoal tô numa luta e creio numa estratégia de melhoria,
      seguinte a query abaixo qdo entro com a data entre o dia 01/09 a 30/09 roda em 60seg, e faz um tablescanfull, mas qdo coloco entre o dia 01/09 a 26/09, por ex, é utilizado um índice e roda 3 seg., já tentei forçar um hint e o plano de execução tb ñ mudou. as colunas da clausular where estão indexadas e foram tb indexadas compostas e depois um índice para cada um e mesmo assim ñ melhorei, sei q o oracle trabalhar com seletivade e ele tenta ir pelo melhor camino, mas nesse caso acho a dirença em tempo tá gde de mais.

      SELECT COUNT(*) FROM (SELECT SUM(M01AK) as TOTALANO FROM Zan_M01 WHERE M00ZA = 7 AND M00AF >= TO_DATE(‘2010-09-01′,’yyyy-mm-dd’) AND M00AF <= TO_DATE('2010-09-30','yyyy-mm-dd') AND M01ZZA03 <> 9)

      abs,

      #96369
      jspaulonci
      Participante

        Se for Oracle 10g, poste para o valor do parametro optimizer_index_cost_adj, se ele estiver em 100 e se vc puder fazer um teste , baixe-o para 10.

        #96376
        fsitja
        Participante

          As estatísticas da tabela e dos índices dela estão atualizadas?

          #96396
          Ronin
          Participante

            Brigadão, o parâmetro optimizer_index_cost_adj realmente fez todo diferença, o ambiente tá rodando fino!!

            abs

          Visualizando 4 posts - 1 até 4 (de 4 do total)
          • Você deve fazer login para responder a este tópico.