Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá pessoal,
Estou com um problema.
Possuo 3 tabelas (ITEM, ITEMANTIGO, MANUTENCAO)
A tabela MANUTENCAO possui um campo chamado CODITEM, onde logicamente é colocado o CODIGO dos ITENS que se encontram OU na tabela ITEM OU na tabela ITEMANTIGO.
Exemplo:
--------------------------------------
CODITEM - DEFEITO
10 - Teste1
15 - Teste2
10001 - Teste3
20001 - Teste4
--------------------------------------
Então o unico meio que encontrei de fazer um relatorio disso, por exemplo, foi:
select ITEM.NOMEITEM, MANUTENCAO.DATAMANUT from ITEM
left join MANUTENCAO on (MANUTENCAO.CODITEMMANUT=ITEM.CODITEM)
UNION
select ITEMANTIGO.NOMEITEMANTIGO, MANUTENCAO.DATAMANUT from ITEMANTIGO
left join MANUTENCAO on (MANUTENCAO.CODITEMMANUT=ITEMANTIGO.CODITEMANTIGO)
Fazendo 2 selects e juntando-os pelo UNION.
Porem como existem varias outras colunas na Query e que a tabela ITEM possui cerca de 100 mil registros, e a ITEMANTIGO cerca de 50 mil, a pesquisa esta sendo bem lenta já nesse computador. O outros são inferiores, o que causaria ainda mais demora.
A duvida agora é: existe algum outro meio mais rapido de fazer essa consulta?
Nao sei se ficou facil de entender, mas qualquer coisa, me deêm um toque.
Obrigado desde já a todos.
Até mais.
Carregando comentários...