zoeira 0 Denunciar post Postado Outubro 27, 2008 Pessoal, Possuo duas tabelas: produtos (2414 registros) e movimentacao (14426 registros). Preciso pesquisar os produtos que não sofreram movimentação de acordo com o período selecionado. Para isso, criei: SELECT prod_nome, prod_cod FROM produtos WHERE prod_cod NOT IN (SELECT mov_prodID FROM movimentacao WHERE mov_data >= '2008-10-06' AND mov_data <= '2008-10-07') O problema que esta consulta está muito lenta e sempre trava. Existe alguma maneira de melhorar esta consulta ou trabalhar com outra lógica? Agradeço desde já a colaboração de todos. Compartilhar este post Link para o post Compartilhar em outros sites
Mário Monteiro 179 Denunciar post Postado Outubro 27, 2008 quais sao as estruturas das tabelas? Compartilhar este post Link para o post Compartilhar em outros sites
giesta 29 Denunciar post Postado Outubro 28, 2008 primeiro mude WHERE mov_data >= '2008-10-06' AND mov_data <= '2008-10-07' para WHERE mov_data NOT BETWEEN '2008-10-06' AND '2008-10-07' depois coloque um index em mov_data,mov_prodID e prod_cod Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Outubro 28, 2008 Tente SELECT prod_nome, prod_cod FROM produtos , movimentacao WHERE produtos.prod_cod = movimentacao.mov_prodID AND movimentacao.mov_data BETWEEN '2008-10-06' AND mov_data <= '2008-10-07' Creio ser mais rápido Compartilhar este post Link para o post Compartilhar em outros sites