4 Replies Latest reply: Mar 23, 2016 8:35 PM by Alessandro Furtado RSS

    Leitura Otimizada vs Resident

    Egnaldo de Sousa

      Bom dia,

       

      Tenho é serie de qvd dividos por mês/ano que ao importar para tratamento estava levando muito tempo, optei então por fazer a leitura otimizada dos qvd, e após a leitura fazer um resident trantando todos os campos.

      Porém ao efetuar o resident, o tempo para processamento está sendo praticamento o mesmo ao até mesmo maior do que não efetuar a leitura otimizada.

       

      Poderiam me orientar se estou fazendo alguma coisa errada ou qual seria o processo mais eficiente para ter um tratamento rápido.

       

      Obrigado.

        • Re: Leitura Otimizada vs Resident
          Maicon Mello

          Egnaldo, seu problema é na leitura do QVD para aplicação ou na própria extração ?

           

          Geralmente que da problema de performance é group by, chave sintética etc.

           

          Pode disponibilizar um QVW com os qvd ou explanar melhor , postando seu script para que possamos ter uma visão melhor ?

           

          Atenciosamente,

          Maicon Mello

          • Re: Leitura Otimizada vs Resident
            Clever Anjos

            Desenvolvimento de script tem dessas mesmo, não existe "a solução perfeita", tem que testar várias e ver qual se adequa mais.

            Talvez, já na sua camada de extração/tratamento já calcular alguns valores e deixar armazenado.

            Exemplo: hoje por padrão, se o QVD tem uma data, já deixo salvo Ano, Mês, Semana, etc no mesmo, para quando for fazer a leitura, ter a opção de ler essa coluna ou não e não precisar recalcular

            • Re: Leitura Otimizada vs Resident
              Yuri Nicolett

              Egnaldo, a etapa de transformação sempre será uma carga não muito otimizada devido as N transformações que devemos realizar.

               

              Como já foi dito, não existe uma solução perfeita para todos os casos e cada caso deve ser analisado separadamente, pois depende muito da quantidade de linhas, quantidade de colunas, quantidade de registros distintos, tamanho das colunas, etc.

               

              No seu caso, como você precisa transformar o dado que vem de um QVD, então compensa fazer a transformação direta na leitura do QVD mesmo que esta não seja otimizada. Veja se vale a pena tratar os dados de cada QVD separado e não com todos os dados concatenados.

              • Re: Leitura Otimizada vs Resident
                Alessandro Furtado

                Egnaldo,

                 

                como os QVDs são por ano/mês , não compensa ler os QVDs e trata-los e salvar um QVD com a transformação (vamos chamar-lo de X) e dai em diante somente ler o ultimo ano / mês , transforma-lo e concatenar com o QVD X ?

                (uma especie de incremental.....)

                 

                Creio que seria mais rápido, visto que ao ler um QVD e aplicar funções, perde-se velocidade (pois não lê otimizado). Então, desta forma seria lido não otimizado um arquivo, o ultimo ano / mês e o outro QVD, com todos os anos e meses já transformados seria lido de modo otimizado.