[firebase-br] RES: Ajuda com select

Pedro Rizatto Manoel pedrofrmanoel em gmail.com
Segunda Março 22 16:51:53 -03 2021


Boa tarde, Mário td certo ?

Conseguiu resolver seu problema de lentidão com o count(*) pq estou com uma
questão pareceida.

Em sex., 19 de mar. de 2021 às 20:11, rodrigo via lista <
lista em firebase.com.br> escreveu:

> Boa noite Mario Tudo bem?
>
> Esse banco de dados estava em um servidor hostgator, e resolvi montar um
> servidor em minha empresa.
> Converti para firebird pq estou acostumado a trabalhar com firebird e
> achei que ficaria melhor.
>
> Mas não teve maneira.
>
> Instalei o mysql e importei o banco de dados para dentro da minha maquina
> local.
>
> O mesmo select é executado em 2 segundos e no firebird 20 segundos.
>
> Não sei como fazem, mas não precisei fazer nada. Nem índice criei.
>
> Grato por toda ajuda.
>
>
>
> Enviado do Email para Windows 10
>
> De: Mário Reis via lista
> Enviado:sexta-feira, 19 de março de 2021 14:30
> Para: FireBase
> Cc:Mário Reis
> Assunto: Re: [firebase-br] Ajuda com select
>
> Com "Left Join" não tem hipóteses. Nem com um "AS400/OS400 da IBM" V.
> conseguiria melhor performance, quanto mais com um PC por muito potente que
> seja!???!
> Ainda assim, experimente a criar uma tabela temporária em vez do left join.
> Vá partindo o "grande problema" em problemas mais pequenos.
> Meta tudo numa "StoreProcedure", preparada para receber os parâmetros do
> Querie de input e de output, onde retorne apenas os campos que V.
> necessita.
> Estou certo que será infinitamente mais rápido que o uso de "Left
> Join"; por vezes chega a ser um pesadelo. Espero ter ajudado
> Abraço
> Com os meus melhores cumprimentos
> Mário Agostinho Reis
> 919262146
>
> Esta mensagem contém informação de natureza confidencial e é
> exclusivamente dirigida ao(s) destinatário(s) indicado(s). Se, por engano,
> receber este email agradecemos que não o copie nem o reenvie e que nos
> notifique do ocorrido através do email de resposta.
> [image: cloudHQ] <https://www.free-email-tracker.com> Powered by
> cloudHQ <https://www.free-email-tracker.com>
>
>
> rodrigo via lista <lista em firebase.com.br> escreveu no dia terça,
> 16/03/2021
> à(s) 22:36:
>
> > 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
>
>
>
> --
> 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