[firebase-br] Ajuda com select

João Denóis jrdprog em gmail.com
Quarta Março 17 07:03:34 -03 2021


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
>


Mais detalhes sobre a lista de discussão lista