- Este tópico contém 2 respostas, 3 vozes e foi atualizado pela última vez 7 anos, 9 meses atrás por viralata.
-
AutorPosts
-
20 de abril de 2016 às 4:27 am #108108BierhalsParticipante
Pessoal,
Gostaria de compartilhar um problema e verificar se alguém tem uma solução interessante.
Tenho a necessidade de associar características a um NCM. 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 que estão associadas aos códigos de hierarquia 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’Antecipadamente agradeço.
Grato,
Luciano20 de abril de 2016 às 9:19 pm #108109Paulo WerneckParticipante@Bierhals
Posso estar enganado mais teria que conhecer o modelo de dados um pouco melhor pra te dar uma melhor resposta.
Mas eu creio que o operador “like” pode lhe ajudar.7 de dezembro de 2016 às 4:19 pm #108549viralataParticipante[quote=”Bierhals” post=33499]Pessoal,
Gostaria de compartilhar um problema e verificar se alguém tem uma solução interessante.
Tenho a necessidade de associar características a um NCM. 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 que estão associadas aos códigos de hierarquia 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’Antecipadamente agradeço.
Grato,
Luciano[/quote]Esta é uma boa pergunta, alguém sabe o melhor jeito de representar isto ?
Já que ele pode tem que achar o maior nível possivel, isto é :Primeiro ele pesquisa pela String inteira ou seja subitm : ‘0104.10.11’
Se não encontrar na tabela ele procura um nível abaixo, ou seja o item: ‘0104.10.1’
caso não encontre busca pela subposicao = ‘0104.10’
caso não encontre busca pela posicao = ‘0104’e por último , busca pelo capítulo , ou seja capitulo = ’01’
[b][color=#0000bb]
Qual a melhor maneira de representar isto em tabela, de modo que fique mais performatico[/color][/b] ? 🙁 🙁 🙁 🙁 -
AutorPosts
- Você deve fazer login para responder a este tópico.