RES: [firebase-br] Sub select lento!!!!

Felipe Pasqualotto felipepasqualotto_listas em yahoo.com.br
Qua Nov 17 10:19:47 -03 2004


Olá, assim:  
MI.MIPROD  é o produto
TOTALQUANT é a soma de um determinado produto
QTDE_TOTAL é a soma de TODOS os itens, isso para depois fazer qual a
porcentagem de venda de cada item.

O campo data não possui indice não, apenas chave primaria se são MCCOD na
tabela de movimentos e MICOD, MISEQ na tabela de itens.

Felipe



-----Mensagem original-----
De: lista-bounces em firebase.com.br [mailto:lista-bounces em firebase.com.br] Em
nome de Nilton Souza
Enviada em: quarta-feira, 17 de novembro de 2004 10:07
Para: FireBase
Assunto: Re: [firebase-br] Sub select lento!!!!


Olá Filipe,

O campo MCDATA possui índice ?

[]'s
Nilton Souza

----- Original Message -----
From: "Felipe Pasqualotto" <felipepasqualotto_listas em yahoo.com.br>
To: "'FireBase'" <lista em firebase.com.br>
Sent: Wednesday, November 17, 2004 9:51 AM
Subject: [firebase-br] Sub select lento!!!!


Bom dia.

Estou fazendo um relatório mas o problema que ele vai ter 3 sub select e com
o exemplo abaixo demora 40 segundos, o que está errado?


select MI.MIPROD,
       sum(MI.MIQUANT) as TOTALQUANT,

       (select sum(MI.MIQUANT)
        from MOVIMENTOS MV
        join MOVITEM MI on (MI.MICOD = MV.MCCOD)
        where MV.MCDATA >= '11/15/2004'
          and MV.MCDATA <= '11/15/2004'
          and MV.MCCANC = 'F'
          and MI.MICANC = 'F') AS QTDE_TOTAL

from MOVIMENTOS MV
inner join MOVITEM MI on (MI.MICOD = MV.MCCOD)
where MV.MCDATA >= '11/15/2004'
  and MV.MCDATA <= '11/15/2004'
  and MV.MCCANC = 'F'
  and MI.MICANC = 'F'

group by MI.MIPROD


Não tem como unir o sub select pelas clausulas do select principal?

[]s
Felipe

---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.797 / Virus Database: 541 - Release Date: 15/11/2004
 





Mais detalhes sobre a lista de discussão lista