[firebase-br] RES: RES: Ajuda com select

Éder Monteiro do Nascimento fator em aliancati.com
Quarta Março 17 15:29:13 -03 2021


Já mandou o banco recalcular os índices?
Se é uma tabela com muita atualização, de tempos em tempos é bom mandar o
fire recalcular os índices.
Segundo, tenha certeza de ter as FK desses campos criados, e campos de
where, se comumente utilizados para pesquisa, com Índices.
Veja se não está misturando tipos de campos diferentes nos seus joins.
Verifique sua máquina (servidor de banco), se ela tem espaço livre na raiz,
e se não é interessante um upgrade de maquina.





*Éder Monteiro do Nascimento*

Programador

Fator Sistemas & Consultoria

e-mail: *eder.nascimento_fator em hotmail.com <eder.nascimento em hotmail.com>*

http://fatorsistemas.com.br


Em qua., 17 de mar. de 2021 às 14:27, Odir Rodrigues de Oliveira via lista <
lista em firebase.com.br> escreveu:

> Nas suas tabelas existem Índices para os campos CODVENDEDOR e ID_ATUALIZA?
> Caso negativo experimente criar.
>
> Odir Rodrigues de Oliveira
> Clipp-net Informática
> São Carlos - SP
> Fone: +55 16 3307-7369
> Cel: +55 16 98137-2103
> Site: www.clippnet.com.br
>
>
> -----Mensagem original-----
> De: lista [mailto:lista-bounces em firebase.com.br] Em nome de Gustavo Novaes
> via lista
> Enviada em: quarta-feira, 17 de março de 2021 08:35
> Para: FireBase
> Cc: Gustavo Novaes
> Assunto: Re: [firebase-br] RES: Ajuda com select
>
> Manda a estrutura das tabelas pra gente conhecer melhor. Talvez o uso de
> CTE ajude. Ontem assisti uns vídeos no youtube de um cara chamado Edson
> Gregório. Num deles falava sobre performance.
>
> *Gustavo Novaes *
>
>
>
>
> Em qua., 17 de mar. de 2021 às 08:27, rodrigo via lista <
> lista em firebase.com.br> escreveu:
>
> > Bom dia Gustavo. Obrigado pela resposta,
> >
> > Mesmo resultado.
> >
> >
> >
> > Enviado do Email para Windows 10
> >
> > De: Gustavo Novaes via lista
> > Enviado:quarta-feira, 17 de março de 2021 08:04
> > Para: FireBase
> > Cc:Gustavo Novaes
> > Assunto: Re: [firebase-br] Ajuda com select
> >
> > 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
> > >
> > ______________________________________________
> > 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
> >
> ______________________________________________
> 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