[firebase-br] Provider SIBPRO2

Rui Mauricio rui em geo.funcate.org.br
Ter Nov 1 17:06:41 -03 2005


Pessoal,

não sei se alguem também passa por este problema, mas se alguem puder me
ajudar
ficarei muito grato!!! Bom em nossa empresa trabalhamos com diversos bancos
de dados
e atualmente estamos usando o FireBird sendo acessado pelo Provider SIBPRO2,
onde
migrados os dados do Oracle para o FireBird, até que funciona, mas estou
achando
muito lento em relação do que eu esperado do FireBird.
Atualmente nosso banco de dados esta com aproximadamente 10 GB quebrados em
arquivos gdb, mas o problema que notei é por exemplo um select max em uma
tabela
com cercao de 1000000 demora uns minutos, o que estou achando estranho, pois
a mesma sql no Oracle e SQL Server com mesmos registros é praticamente
instataneo!
Já olhei o index e parece esta tudo ok!!! Ja olhei a configuração e também
parece estar ok....
Não sei dizer se o fato de existir um campo BLOB na tabela pode estar
afetando alguma coisa,
mas acredito que não deveria já que o select max é executado em um campo
numerico que
tem apenas os valores numericos, eu achei que seria o provider que tem
alguma deficiencia,
mas quando executei a sql pelo IBExpert verifiquei o mesmo problema.

Se alguem puder me dar alguma dica, fico muito agradecido!!!!

-------------------------------------------------------------------------

     Rui Maurício Gregório
 Analista de Sistemas Pleno III

Funcate - Fundação de Ciência, Aplicações e Tecnologia Espaciais
Av. Dr. João Guilhermino, 429 - 16º andar-Sala 165-Ed.Saint James
Centro - São José dos Campos - SP CEP: 12.210.131
Tel.:(0XX12)3925-1385 - Fax: (0XX12) 3925-1387


----- Original Message -----
From: "Francisco Thiago" <jeandeadlucky em yahoo.com.br>
To: "FireBase" <lista em firebase.com.br>
Sent: Tuesday, November 01, 2005 2:48 PM
Subject: Re: [firebase-br] Preciso de uma mãozinha


> Não..
>
>         where PRODUCAO_ETAPAS.IPDC_CODIGO = old.IPDC_CODIGO
>           and PRODUCAO_ETAPAS.EPDC_ENTRADA is not null
>           and PRODUCAO_ETAPAS.EPDC_SAIDA is not null
>           and PRODUCAO_ETAPAS.EPDC_INICIO is not null
>           and PRODUCAO_ETAPAS.EPDC_FIM is not null
> Este where me traria a qtd de etapas onde todas as fase já estaria
> concluídas... Logo, se o V_Estado está Null ou é <= 0, é sinal de que nem
> todas as fazes estão concluídas, mas que pelo menos uma está (segundo o
> primeiro if)
>
>
> Obrigado
>
> Francisco Thiago de Almeida
> Enter & Plug Informática
> Divisão: Desenvolvimento e Banco de dados
> Franca / SP
> msn: thiago em enterplug.com.br
>
>
> ----- Original Message -----
> From: "Jony" <jonyridel em yahoo.com.br>
> To: "'FireBase'" <lista em firebase.com.br>
> Sent: Tuesday, November 01, 2005 2:32 PM
> Subject: RES: [firebase-br] Preciso de uma mãozinha
>
>
> Francisco, o teste abaixo não estará invertido ?
>
>         if ((:V_ESTADO IS NULL) or (:V_ESTADO <= 0)) then -- SIM, FORAM
>         begin
>           update CAD_PRODUCAO_ITEM set IPDC_ESTADO = 2 where IPDC_CODIGO =
> old.IPDC_CODIGO; --Em Produção (Aqui não seria produzido, já que se o
count
> retornou nulo todas as etapas foram concluídas)
>         end
>         else  -- NÃO, SÓ ALGUMAS
>         begin
>           update CAD_PRODUCAO_ITEM set IPDC_ESTADO = 3 where IPDC_CODIGO =
> old.IPDC_CODIGO; -- Produzido (Aqui não seria em produção)
>         end
>
> O having no SQL que gera o V_ESTADO usando count não entendi o uso do
mesmo.
>
> Desculpe se não for isso, talvez eu não tenha entendido o seu problema
> direito.
>
>
> ----------------------------
> Jony Ridel
> Grupo Êxito - Salvador - BA
> ----------------------------
>
> -----Mensagem original-----
> De: lista-bounces em firebase.com.br [mailto:lista-bounces em firebase.com.br]
Em
> nome de Francisco Thiago
> Enviada em: quarta-feira, 26 de outubro de 2005 14:00
> Para: FireBase
> Assunto: [firebase-br] Preciso de uma mãozinha
>
> Pessoal,
>
> Não está funcionando e eu não sei pq!
>
> Tenho um controle assim.... Para um produto estar marcado como produzido,
> todas as suas etapas tem de estar concluidas...
> Tenho a seguinte estrutura
>
> ITEM_PRODUCAO
> ipdc_codigo
>
> PRODUCAO_ETAPAS
>     EPDC_CODIGO   D_INTEIRO NOT NULL /* D_INTEIRO = INTEGER */,
>     IPDC_CODIGO   D_INTEIRO NOT NULL /* D_INTEIRO = INTEGER */,
>     EPDC_ENTRADA  TIMESTAMP,
>     EPDC_SAIDA    TIMESTAMP,
>     EPDC_INICIO   TIMESTAMP,
>     EPDC_FIM      TIMESTAMP,
>     EMPR_CODIGO   D_INTEIRO NOT NULL /* D_INTEIRO = INTEGER */,
>     CUSU_CODIGO   D_INTEIRO NOT NULL /* D_INTEIRO = INTEGER */,
>     CEPR_CODIGO   D_INTEIRO NOT NULL /* D_INTEIRO = INTEGER */
>
> Ou seja, um produto pode ter várias etapas. E cada etapa passa pela
Entrada,
>
> Inicio, Fim, Saida. Quando ele zerar todas essas fazes das etapas, ele
está
> produzido. Daí construí esta trigger, só que não funciona!!!
>
> Alguém pode me dar uma mãozinha??
>
> Obrigado
>
> Francisco Thiago de Almeida
> Enter & Plug Informática
> Divisão: Desenvolvimento e Banco de dados
> Franca / SP
> msn: thiago em enterplug.com.br
>
>
> CREATE TRIGGER PRODUCAO_ETAPAS_BIU0 FOR PRODUCAO_ETAPAS
> ACTIVE AFTER UPDATE POSITION 0
> as
> declare variable V_ESTADO integer;
> begin
> -- VERIFICA SE ALGUMA ESTAPA FOI CONCLUIDA
>     select coalesce(count(PRODUCAO_ETAPAS.IPDC_CODIGO),0)
>     from PRODUCAO_ETAPAS
>     where PRODUCAO_ETAPAS.IPDC_CODIGO = old.ipdc_Codigo
>       and (     PRODUCAO_ETAPAS.EPDC_ENTRADA is not null
>              or PRODUCAO_ETAPAS.EPDC_SAIDA is not null
>              or PRODUCAO_ETAPAS.EPDC_INICIO is not null
>              or PRODUCAO_ETAPAS.EPDC_FIM is not null)
>     into :V_ESTADO;
>     if ((:V_ESTADO > 0) and (:V_ESTADO is not null)) then --ENTÃO ALGUMA
> ESTAPA FOI INICIADA
>     begin
>         -- Todas as etapas foram concluídas?
>         select count(PRODUCAO_ETAPAS.IPDC_CODIGO)
>         from PRODUCAO_ETAPAS
>         where PRODUCAO_ETAPAS.IPDC_CODIGO = old.IPDC_CODIGO
>           and PRODUCAO_ETAPAS.EPDC_ENTRADA is not null
>           and PRODUCAO_ETAPAS.EPDC_SAIDA is not null
>           and PRODUCAO_ETAPAS.EPDC_INICIO is not null
>           and PRODUCAO_ETAPAS.EPDC_FIM is not null
>         group by PRODUCAO_ETAPAS.IPDC_CODIGO
>         having count(PRODUCAO_ETAPAS.IPDC_CODIGO) = (
>                                                       select
> count(PE2.IPDC_CODIGO)
>                                                       from PRODUCAO_ETAPAS
> PE2
>                                                       where
PE2.IPDC_CODIGO
> = old.IPDC_CODIGO
>                                                     )
>         into :V_ESTADO;
>         if ((:V_ESTADO IS NULL) or (:V_ESTADO <= 0)) then -- SIM, FORAM
>         begin
>           update CAD_PRODUCAO_ITEM set IPDC_ESTADO = 2 where IPDC_CODIGO =
> old.IPDC_CODIGO; --Em Producao
>         end
>         else  -- NÃO, SÓ ALGUMAS
>         begin
>           update CAD_PRODUCAO_ITEM set IPDC_ESTADO = 3 where IPDC_CODIGO =
> old.IPDC_CODIGO; -- Produzido
>         end
>     end
>     else -- Nenhuma estapa foi iniciada
>     begin
>       update CAD_PRODUCAO_ITEM set IPDC_ESTADO = 1 where IPDC_CODIGO =
> old.IPDC_CODIGO; --Enviado
>     end
> end
> ^
>
>
>
>
>
>
> _______________________________________________________
> Promoção Yahoo! Acesso Grátis: a cada hora navegada você
> acumula cupons e concorre a mais de 500 prêmios! Participe!
> http://yahoo.fbiz.com.br/
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
> Para editar sua configuração na lista, use o endereço
> http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
> --
> No virus found in this incoming message.
> Checked by AVG Free Edition.
> Version: 7.1.361 / Virus Database: 267.12.5/149 - Release Date: 25/10/2005
>
>
> --
> No virus found in this outgoing message.
> Checked by AVG Free Edition.
> Version: 7.1.362 / Virus Database: 267.12.6/152 - Release Date: 31/10/2005
>
>
>
>
>
>
>
> _______________________________________________________
> Promoção Yahoo! Acesso Grátis: a cada hora navegada você
> acumula cupons e concorre a mais de 500 prêmios! Participe!
> http://yahoo.fbiz.com.br/
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
> Para editar sua configuração na lista, use o endereço
> http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
>
>
>
>
>
> _______________________________________________________
> Promoção Yahoo! Acesso Grátis: a cada hora navegada você
> acumula cupons e concorre a mais de 500 prêmios! Participe!
> http://yahoo.fbiz.com.br/
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
> Para editar sua configuração na lista, use o endereço
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
>
>
> --
> No virus found in this incoming message.
> Checked by AVG Free Edition.
> Version: 7.1.362 / Virus Database: 267.12.6/152 - Release Date: 31/10/2005
>





Mais detalhes sobre a lista de discussão lista