[firebase-br] Select lenta! sera q preciso usar plan? nunca usei
Joao Luiz
jluizsc em bol.com.br
Qua Dez 28 14:18:13 -03 2005
Pessoal,
Sei isso eu deveria resolver sozinho verificando meu BD, mas ainda nao
achei a solucao e nao sei usar o *plan*, vejam, tenho as seguintes
tabelas:
Nota
#cd_empresa
#cd_filial
#sr_nota
#nr_nota
*cd_cliente
*dt_emissao
Itens da Nota
#cd_empresa
#cd_filial
#sr_nota
#nr_nota
#nr_item
*nr_referencia
*qt_item
*vl_item
ProdLinh
#nr_referencia
#cd_linha
Cada referencia pode ter mais de uma linha e vice-versa;
Acontece q a Select:
select c.cd_linha, sum(b.vl_pedido)*sum(b.qt_pedido) "total"
from nota a, notaitem b, prodlinh c
where a.cd_empresa=b.cd_empresa
and a.cd_filial=b.cd_filial
and a.sr_nota=b.sr_nota
and a.nr_nota=b.nr_nota
and b.nr_referencia=c.nr_referencia
and a.dt_emissao between '12/01/2005' and '12/31/2005'
and a.cd_empresa=1
and a.cd_filial=2
group by 1
Analisada pelo IBPLAnalyzer indica q as tabelas nota e notaitem estao
sendo lidas usando indice, mas estao sendo feita uma leitura full (de
todos os registros) da tabela notaitem, sendo 322000 (o mesmo numero
nas duas tabelas) ! deveria ter lido apenas as linhas do periodo
especificado (+ ou - 6000).
Jah sei q eh por causa do "prodlinh", pois sem relacionar essa tabela a
velocidade melhora muito!
Soh q preciso dessa relacao. e demora... demora... demora...
Alguma coisa errada com a relacao da select acima?
Valeu!!!
--
___________________________________
Joao Luiz - Linux user #159951
web : http://www.jluizsc.pop.com.br
GRATIS eh POUCO: ganhe 24,00 por 100h navegando:
Orolix:
http://cadastro.orolix.com.br/registro/?codcupom=0066399663943892
CresceNET: http://www.cresce.net/home.asp?id=256309
Mais detalhes sobre a lista de discussão lista