[firebase-br] SQL Doido
Nobyte X
clovis.007x em gmail.com
Sábado Junho 19 13:41:09 -03 2021
Muito lento 2minutos para trazer 20k de registros, isso é por conta de
executsr no delphi?
Em sáb, 19 de jun de 2021 13:16, José Mauricio Barbisan Zottis via lista <
lista em firebase.com.br> escreveu:
> o teste sem Cód Cliente
> Obtidos 23723
>
> ------ Info. Desempenho ------
> Tempo de Preparação = 31ms
> Tempo de Execução = 1m 56s 672ms
> Tempo Médio Leitura = 5.072,70 ms
> Memória Actual = 30.248.424
> Memória Max = 44.449.920
> Buffers de Memória = 2.048
> Leituras do disco para a Memória Intermédia = 140.656
> Escritas da Memória Intermédia para o disco = 137
> Leituras da Memória Intermédia = 1.884.583
>
>
> Em sáb., 19 de jun. de 2021 às 12:58, José Mauricio Barbisan Zottis <
> zottissistemas em gmail.com> escreveu:
>
> > Opa, agradeço pelo retorno, o peso que se refere, não acontece, fiz um
> > teste sem o uso de parâmetros e o retorno foi satisfatório, e olhe que a
> > base é grande.
> > também fiz o teste com AsString
> > fiz teste usando cast para varchar, numeric, etc.
> >
> > fiz vários SQL, fazendo pequenas Views no Banco e juntando, também nada
> > funcionou, inverti a lógica e aparece os dados, mas quando rodo no
> Delphi,
> > não aparece
> > O SQL que pelo menos aparece a descrição ´pe este, mas a soma do peso não
> > aparece.
> > tentei também com between, com <= e <= e nada
> >
> > select (select d.descricao from descricao_residuos d where d.codigo =
> > v.cod_descricao)descricao,
> > (select sum(f.peso_coletado) from far_mtr f where f.cod_cliente =
> > v.cod_cliente and f.cod_valores_cliente = v.codigo and f.data_coleta >=
> > :vardataI and f.data_coleta <= :vardataF ) peso,
> > cast( round((select sum(f.peso_coletado) from far_mtr f where
> > f.cod_cliente = v.cod_cliente and f.cod_valores_cliente = v.codigo and
> > f.data_coleta >= :vardataI and f.data_coleta <= :vardataF ),2)as
> > varchar(30)) peso2
> > from valores_cliente v
> > where v.cod_cliente = :varCodCliente
> >
> >
> > Em sáb., 19 de jun. de 2021 às 12:21, Mário Reis via lista <
> > lista em firebase.com.br> escreveu:
> >
> >> Duvido da eficiência desse teu código companheiro. Deve ter um peso
> >> tremendo. Eu partiri esse query em vários outros mais pequenos e
> >> dependentes, mas enfim!
> >> Ainda assim, arriscaria que o problema está aqui:
> >> *ParamByName('vardataI').AsDate * :=
> >> dtpPeriodoColeta1.Date;
> >> ParamByName('vardataI').AsDate
> >> dtpPeriodoColeta2.Date;
> >> Não sei que componentes usa, mas tb já tive um problema idêntico e
> >> resolvi, passando o parâmetro data como AsString
> >> em vez de AsDate e funcionou. Até hoje faço assim com os componentes do
> >> TIBDatabase... TIBQuery etc...
> >> P/favor tente e nos diga o resultado.
> >> Espero ter ajudado. Obrigado
> >>
> >> 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.
> >>
> >>
> >> José Mauricio Barbisan Zottis via lista <lista em firebase.com.br>
> escreveu
> >> no
> >> dia sexta, 18/06/2021 à(s) 23:16:
> >>
> >> > Pessoal, boa noite.
> >> > Tenho um SQL que já tentei de tudo quanto é jeito e todas as
> tentativas
> >> via
> >> > IBEx´pert da certo, porém quando passo pro componente no Delphi(7) não
> >> > aparece nada.
> >> > Alguém saberia o que pode estar acontecendo?
> >> >
> >> > o SQL é este:
> >> >
> >> > select v.cod_cliente,
> >> > sum(v.peso_coletado)peso_coletado,
> >> > v.descricao
> >> > from
> >> > (select f.cod_cliente,
> >> > f.peso_coletado,
> >> > f.data_coleta,
> >> > f.cod_valores_cliente,
> >> > (select dr.descricao from descricao_residuos dr where dr.codigo
> =
> >> > (select v2.cod_descricao from valores_cliente v2
> >> > where v2.codigo =
> >> > f.cod_valores_cliente))descricao
> >> > from far_mtr f)v
> >> > where v.cod_cliente = :varCodCliente
> >> > and v.data_coleta between :vardatai and :vardataf
> >> > group by v.cod_cliente,
> >> > v.descricao
> >> >
> >> > , no componente chamo assim(Como faço hà anos)
> >> >
> >> > with qryColetasAgrup do
> >> > begin
> >> > Close;
> >> > ParamByName('varCodCliente').AsInteger :=
> >> > qryBuscaCOD_CLIENTE.Value;
> >> > ParamByName('vardataI').AsDate :=
> >> > dtpPeriodoColeta1.Date;
> >> > ParamByName('vardataI').AsDate :=
> >> > dtpPeriodoColeta2.Date;
> >> > Prepare;
> >> > Open;
> >> > end;
> >> >
> >> > --
> >> > ______________________________________________
> >> > 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