Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
Anonymous
Not applicable

Leitura Otimizada vs Resident

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.

Labels (1)
1 Solution

Accepted Solutions
afurtado
Partner Ambassador/MVP
Partner Ambassador/MVP

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.

furtado@farolbi.com.br

View solution in original post

4 Replies
maiconmello
Creator III
Creator III

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

Clever_Anjos
Employee
Employee

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

nicolett_yuri

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.

afurtado
Partner Ambassador/MVP
Partner Ambassador/MVP

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.

furtado@farolbi.com.br