Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Boa tarde Pessoal, estou fazendo alguns estudos e gostaria de verificar e sanar algumas dúvidas referente a autonumber.
Até onde conheço o autonumber quando utilizo para uma chave composta, ele gera um sequencial sobre uma chave que mandei criar, com isso reduzindo consumo e memória e deixando mais otimizado.
Dúvida é :
Quando faço um autonumber em um load , em seguinte dou um store e drop a tabela, a próxima tabela que eu criar um autonumber ele mantém o mesmo autonumber da leitura da tabela anterior ??
Ou para que não perca a referencia eu preciso primeiro ler as tabelas e depois no final somente dar o store das mesma e drop consequentemente ??
Não sei se fui claro mas vou tentar simular um exemplo :
nf:
Load autonumber(NumNF &'-'& Serie ) as PK_NOTA,
NumNF from tabela;
Store nf into c:\qlik\qvd\nf.qvd(qvd);
drop table nf;
=====================================================
ItemNF:
Load autonumber(NumNF &'-'& Serie ) as PK_NOTA,
itemNF from tabela 2;
Store ItemNF into c:\qlik\qvd\ItemNF.qvd(qvd);
drop table ItemNF;
//Quando fazer a leitura dos dois QVD a PK_NOTA estarão com a referencia correta ??
Yuri,
Nessa linha, no momento da leitura dos dados para a aplicação, eu forço a leitura otimizada e depois faço uma nova leitura da tabela criando as chaves via Autonumber (hash ou não)?
Márcio, depende do volume de registros e colunas que a sua tabela possui. É bom fazer os testes entre os dois cenários: criar a chave na leitura da sua tabela ou fazer uma leitura otimizada e depois fazer o join com a chave.
Cenário 1)
Tabela:
LOAD *, AutoNumberHash128(CAMPO1, CAMPO2, CAMPO3) as CHAVE FROM tabela.qvd (qvd);
Cenário 2)
Tabela:
LOAD * tabela.qvd (qvd); //Leitura otimizada
Chave_Tmp
LOAD DISTINCT AutoNumberHash128(CAMPO1, CAMPO2, CAMPO3) as CHAVE, CAMPO1, CAMPO2, CAMPO3 RESIDENT Tabela; //Leitura não otimizada, mas somente das linhas da chave.
LEFT JOIN (Tabela)
LOAD
*
RESIDENT Chave_Tmp;
DROP TABLE Chave_Tmp;
Achou a solução? Se sim, marque as corretas e úteis, por favor
Bom dia Maicon
O seu problema foi resolvido? Se sim, marque as respostas úteis/corretas para fechar o tópico.
Obrigado