[firebase-br] rotina numa procedure contendo um while eleva o uso da cpu para 100%

Eduardo Jedliczka edujed em gmail.com
Qua Maio 8 13:53:10 -03 2013


Não entendi a sua lógica.

Eu provavelmente teria escrito um

select sum(1) as qtd_dias from tabela where data between data_ini and
data_fim and dia_util='S'

como você usa uma SP, talvez seja preciso organizar algumas coisas,
mas basicamente é isto.

==========================
Eduardo Jedliczka
Curitiba - Pr
==========================


Em 8 de maio de 2013 09:23, Gladiston Santana <gladiston em vidy.com.br> escreveu:
> Tenho uma rotina numa procedure que contem um while, em parte é assim :
>
>   while (l_dias_uteis < p_qtde_dias) do
>   begin
>     l_temp_date=dateadd(1 day to :p_dt_inicio);
>     select dia_util from get_se_dia_util(:p_id_colaborador, :l_temp_date)
> into :l_se_util;
>     if (:l_se_util='S') then l_dias_uteis=:l_dias_uteis+1;
>   end
>
> Funciona bem, contudo quando há períodos maiores onde o while terá também
> um tempo maior de processamento noto que o % de uso da CPU sobe para 99 e
> 100% enquanto o while ocorre.
>
> Eu gostaria de saber dos nobres colegas se há alguma função no FB ao estilo
> "Application.ProcessMessages" para desafogar esse ciclo de CPU. Procurei no
> manual, mas não achei nenhum.
>
> Numa aplicação embarcada que estou criando, esse problema é bem notório e
> já cogito re-escrever essa rotina no lado da aplicação.
>
> Enfim, qualquer ajuda é bem vinda.
> ______________________________________________
> 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://firebase.com.br/pesquisa




Mais detalhes sobre a lista de discussão lista