[firebase-br] RES: Luciano Franca - consulta demorando 2 horas
Luciano franca
luapfirebird em yahoo.com.br
Sex Jun 3 15:57:11 -03 2011
Showwwwww de codigo
ficou assim
Prepare time = 0ms
Execute time = 1s 312ms
Retornou esse Plan
Plan
PLAN SORT (MERGE (SORT (JOIN (CF NATURAL, CM INDEX (FK_CADASTRO_MERCADORIAS_3), GP INDEX (FK_GRADE_PRODUTOS_1))), SORT (SORT (DUPLICADOS CADASTRO_MERCADORIAS NATURAL))))
o Plan anterior era esse
PLAN SORT ((CC NATURAL))
PLAN SORT (SORT (JOIN (CF NATURAL, CM INDEX (FK_CADASTRO_MERCADORIAS_3), GP INDEX (FK_GRADE_PRODUTOS_1))))
Só não entendi o motivo porque ficou tão rapido essa query assim o colega pode explicar
--- Em sex, 3/6/11, Felix <felix.sol em terra.com.br> escreveu:
De: Felix <felix.sol em terra.com.br>
Assunto: [firebase-br] RES: Luciano Franca - consulta demorando 2 horas
Para: "'FireBase'" <lista em firebase.com.br>
Data: Sexta-feira, 3 de Junho de 2011, 15:14
Rapaz, é por causa do MAX, faltou o GROUP BY no final. Coloca assim e
informa o resultado por favor?
select duplicados.codigo_barras, cm.codigo_fabricante, cm.cod_fornecedor,
cm.mercadoria, cf.fornecedor,
Max(Case When(Gp.filial = 1) Then Gp.preco_g_vista End) As Preco_AS,
Max(Case When(Gp.filial = 2) Then Gp.preco_g_vista End) As Preco_MT
from (select codigo_barras, count(codigo_barras) registros from
cadastro_mercadorias group by codigo_barras) duplicados
inner join cadastro_mercadorias cm on (duplicados.codigo_barras =
cm.codigo_barras)
inner join cadastro_fornecedor cf on (cf.codigo = cm.cod_fornecedor)
Inner Join grade_produtos GP on (Gp.cod_produto = CM.codigo)
where registros > 1
group by 1, 2, 3, 4, 5
order by cm.codigo_barras
Fco. Felix
Desenvolvimento de Sistemas
www.soltecnologia.com.br
-----Mensagem original-----
De: lista-bounces em firebase.com.br [mailto:lista-bounces em firebase.com.br] Em
nome de Luciano franca
Enviada em: sexta-feira, 3 de junho de 2011 15:04
Para: FireBase
Assunto: Re: [firebase-br] Luciano Franca - consulta demorando 2 horas
Colega retorna esse erro
Invalid token.
Dynamic SQL Error.
SQL error code = -104.
Invalid expression in the select list (not contained in either an aggregate
function or the GROUP BY clause).
Eu consegui deixar mais rapido colocando IN no lugar de Exists e estou
revisando todo o meu banco para ver o que posso melhorar em termos de
indices
--- Em sex, 3/6/11, Felix <felix.sol em terra.com.br> escreveu:
De: Felix <felix.sol em terra.com.br>
Assunto: [firebase-br] Luciano Franca - consulta demorando 2 horas
Para: "'FireBase'" <lista em firebase.com.br>
Data: Sexta-feira, 3 de Junho de 2011, 14:45
Luciano, tenta este select e informa o resultado na lista?
select duplicados.codigo_barras, cm.codigo_fabricante, cm.cod_fornecedor,
cm.mercadoria, cf.fornecedor,
Max(Case When(Gp.filial = 1) Then Gp.preco_g_vista End) As Preco_AS,
Max(Case When(Gp.filial = 2) Then Gp.preco_g_vista End) As Preco_MT
from (select codigo_barras, count(codigo_barras) registros from
cadastro_mercadorias group by codigo_barras) duplicados
inner join cadastro_mercadorias cm on duplicados.codigo_barras =
cm.codigo_barras
inner join cadastro_fornecedor cf on (cf.codigo = cm.cod_fornecedor)
Inner Join grade_produtos GP on (Gp.cod_produto = CM.codigo)
where registros > 1
order by cm.codigo_barras
Fco. Felix
Desenvolvimento de Sistemas
www.soltecnologia.com.br
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para saber como gerenciar/excluir seu cadastro na lista, use:
http://www.firebase.com.br/fb/artigo.php?id=1107
Para consultar mensagens antigas: http://firebase.com.br/pesquisa
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para saber como gerenciar/excluir seu cadastro na lista, use:
http://www.firebase.com.br/fb/artigo.php?id=1107
Para consultar mensagens antigas: http://firebase.com.br/pesquisa
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para saber como gerenciar/excluir seu cadastro na lista, use: http://www.firebase.com.br/fb/artigo.php?id=1107
Para consultar mensagens antigas: http://firebase.com.br/pesquisa
Mais detalhes sobre a lista de discussão lista