Pessoal,
Gostaria de compartilhar um problema e verificar se alguém pode me dar uma opinião. Tenho a necessidade de associar características a um NCM <http://classificacaodemercadorias.com.br/como-e-a-estrutura-e-composicao-da-nomenclatura-comum-do-mercosul-ncm.html> . Um código NCM é formado da seguinte forma: SEÇÃO I DEFINIÇÃO Capítulo 01 Animais vivos Posição 0104 Animais vivos das espécies ovinas ou caprinas Subposição 0104.10 Ovinos Item 0104.10.1 Reprodutores de raça pura Subitem 0104.10.11 Prenhe ou com cria ao pé Acontece que a característica pode estar associado a qualquer nível do NCM. O fato é que quando eu fizer uma consulta a um código 0104.10.11, tenho que retornar as características que estão associadas diretamente ao código e também as características que estiverem associadas aos códigos de hierarquias superiores. Minha dúvida está em qual seria a melhor forma de armazenar este código, para que as consultas tenham a melhor performance. Armazenar cada pedaço do código em uma coluna separada, ou gravar em um único campo string? Existe alguma forma melhor de executar a consulta (performance) do que a abaixo? select * from ncmcaracteristica Where subitem = '0104.10.11' OR item = '0104.10.1' OR subposicao = '0104.10' OR posicao = '0104' OR capitulo = '01' Dê uma olhada na cláusula with recursive. Dependendo como está a sua estrutura, pode ser aplicado no seu caso. http://www.postgresql.org/docs/9.5/static/queries-with.html
_______________________________________________ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral