[firebase-br] Ajuda com select

Gustavo Novaes gutonovaes19 em gmail.com
Quarta Março 17 08:02:05 -03 2021


Bom dia,
Minha sugestão, embora não tenha testado.

SELECT COUNT(I.ID <http://i.id/>) FROM ITENSFAT ITENS
INNER JOIN PEDIDOSFAT PEDIDOS ON (PEDIDOS..CODIGO = ITENS.CODIGO and
ITENS.ID_EMPRESA='114028')
INNER JOIN CLIENTES AS CLIENTES ON (CLIENTES.CODCLIENTE =
PEDIDOS.NUMCLIENTE AND CLIENTES.CODVENDEDOR = 2)  and TB.ID_EMPRESA='114028'
)
WHERE PEDIDOS.ID_EMPRESA='114028' AND AND ITENS.ID_ATUALIZA>0

Gosto do uso de CTEs mas não domino ainda.

*Gustavo Novaes *




Em qua., 17 de mar. de 2021 às 07:04, João Denóis via lista <
lista em firebase.com.br> escreveu:

> Bom dia,
> A tabela Itensfat tem mais de 1.500.000 registros, e você passa ela em um
> left, já pensou em passar com INNER? Existe a possibilidade de criar um
> index neste código tbm.
>
> Em ter., 16 de mar. de 2021 às 20:36, rodrigo via lista <
> lista em firebase.com.br> escreveu:
>
> > Boa noite!
> >
> > Tenho um select cujas tabelas
> > Itensfat tem mais de 1.500.000 registros
> > Pedidosfat mais de 400.000 registros
> > E clientes mais de 80.000 registros
> >
> > Tenho esse select
> >
> > SELECT COUNT(I.ID) FROM itensfat i
> > LEFT JOIN pedidosfat p ON (P.CODIGO = I.CODIGO and I.ID_EMPRESA='114028')
> > LEFT JOIN CLIENTES AS TB ON (TB.CODCLIENTE = P.NUMCLIENTE and
> > TB.ID_EMPRESA='114028' )
> > WHERE P.ID_EMPRESA='114028' AND TB.CODVENDEDOR = 2 AND I.ID_ATUALIZA>0
> >
> > Com esse retorno:
> >
> > PLAN JOIN (JOIN (I INDEX (ITENSFAT_ID_ATUALIZA), P INDEX
> > (PEDIDOSFAT_CODIGO, PEDIDOSFAT_ID_EMPRESA)), TB INDEX
> > (IDX_CLIENTES_CODCLIENTE, IDX_CLIENTES_IDEMPRESA))
> >
> > Prepare: 47 ms  Execute: 50 s 157 ms  Fetch: 50 s 157 ms
> >
> > Se altero para
> > SELECT COUNT(I.ID) FROM pedidosfat p
> > LEFT JOIN itensfat i ON (P.CODIGO = I.CODIGO and I.ID_EMPRESA='114028')
> > LEFT JOIN CLIENTES AS TB ON (TB.CODCLIENTE = P.NUMCLIENTE and
> > TB.ID_EMPRESA='114028' )
> > WHERE P.ID_EMPRESA='114028' AND TB.CODVENDEDOR = 2 AND I.ID_ATUALIZA>0
> >
> > Demora mais de 7 minutos
> >
> > Alguem tem alguma dica de como posso melhorar a performance desse select?
> >
> > Grato
> >
> >
> > --
> > Este email foi escaneado pelo Avast antivírus.
> > https://www.avast.com/antivirus
> > ______________________________________________
> > 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://www.firebase.com.br/pesquisa_lista.html
> >
> ______________________________________________
> 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://www.firebase.com.br/pesquisa_lista.html
>


Mais detalhes sobre a lista de discussão lista