Qlik Community

Qlik Brasil

Group community for Brazil users. discussion only in Portuguese.

Highlighted
Not applicable

Demora na carga de dados ao Renomear os Campos

Pessoal, estou fazendo a carga de alguns dados, por ano a média de registros da tabela em questão é de 10 Milhões de Registros, criei um extrator que apenas lê o BD e gera um QVD com os dados, e na minha aplicação, carrego esses dados alterando o nome dos campos de forma que fiquem amigáveis ao usuário, como por exemplo dt_pagto_divida para [Data de Pagamento da Divida], mesmo carregando apenas 1 ano, quando renomeio todos os campos, são 31 nessa tabela especifica, a carga leva em média 45 Segundos, se não renomeio os campos a mesma carga leva cerca de 15 segundos, alguém tem alguma dica para que eu possa melhorar essa performance e ter os campos renomeados !?

Obrigado !!!

Tags (1)
1 Solution

Accepted Solutions
Not applicable

Re: Demora na carga de dados ao Renomear os Campos

Na verdade a demora é somente porque renomeio os campos, não faço IF ou qualquer outra coisa, apenas renomeio os fields com por exemplo: campo1 AS [Campo 01]

Mas fazendo alguns testes, percebi que o jeito que ficou mais rápido foi, criar um mapping para os campos, e usar a função: Rename Fields using FieldMap;

Não sei se é a melhor solução, mas a principio, ficou rápido, o problema ainda é que crio um MasterCalendar baseado nas datas dessa tabela, mas vou ver se crio um qvd, como calendário já pronto toda vez que ler os dados do BD, acho que já vai agilizar também a carga.

Obrigado pelas respostas !!!

9 Replies
Not applicable

Re: Demora na carga de dados ao Renomear os Campos

Faz uma segundo qvd somente pra renomear esses campos extraídos .A leitura do QVD é mais rápida que a leitura do BD .

MVP
MVP

Re: Demora na carga de dados ao Renomear os Campos

O QVD é a representação em arquivo de como os dados ficam em memoria.  Se não tiver nenhuma mudança ou condição (com excessao do exists) ele le algo como 1milhao por segundo.  Ao fazer algum tipo de where ou usar função (year / month) ou mesmo concatenar campos, perde-se esta leitura em modo performático.

A saida seria antes de salvar o QVD fazer estas tratativas nos campos.

AMF

Re: Demora na carga de dados ao Renomear os Campos

Jackson, da uma lida em meu post para entender um pouco mais sobre leitura otimizada do qvd

Melhores Práticas QlikView - QVD Optimized

Not applicable

Re: Demora na carga de dados ao Renomear os Campos

Na verdade a demora é somente porque renomeio os campos, não faço IF ou qualquer outra coisa, apenas renomeio os fields com por exemplo: campo1 AS [Campo 01]

Mas fazendo alguns testes, percebi que o jeito que ficou mais rápido foi, criar um mapping para os campos, e usar a função: Rename Fields using FieldMap;

Não sei se é a melhor solução, mas a principio, ficou rápido, o problema ainda é que crio um MasterCalendar baseado nas datas dessa tabela, mas vou ver se crio um qvd, como calendário já pronto toda vez que ler os dados do BD, acho que já vai agilizar também a carga.

Obrigado pelas respostas !!!

Not applicable

Re: Demora na carga de dados ao Renomear os Campos

Yuri, interessantíssimo o post !!!

Mas vi que no post na parte onde diz: "Alguns exemplos que farão com que a carga seja otimizada:", cita com primeiro item o "Renomear Campos", que salvo engano é o que faz muita diferença na carga das minhas informações, tipo lendo o qvd de origem, sem renomear campo algum a carga é muito rápida, já renomeando a performance cai sensivelmente, será que pode ser algo com o meu qvw, ou alguma configuração no qlikview !?

MVP
MVP

Re: Demora na carga de dados ao Renomear os Campos

Jackson,

boa saída usando o rename.....Ja usei algumas vezes mas nem me passou pela cabeça. Parabéns.

Re: Demora na carga de dados ao Renomear os Campos

Sim Jackson, renomear através do alias "AS" mantém a leitura otimizada do QVD

Not applicable

Re: Demora na carga de dados ao Renomear os Campos

Na verdade a minha leitura esta muito mais lenta usando o "AS" !

Re: Demora na carga de dados ao Renomear os Campos

Jackson, concordo que ela pode ficar mais lenta em relação a leitura sem nenhum campo renomeado, porém o importante aqui é manter a leitura otimizada do qvd.

Ainda não fiz um teste utilizando o RENAME FIELD, mas pode ser uma boa saída.