[firebase-br] Provider SIBPRO2

Rui Mauricio rui em geo.funcate.org.br
Qui Nov 3 09:56:18 -03 2005


Bom galera obrigado pelas dicas, vou testar aqui e dou um
retorno para vcs.

Soh para esclarecer melhor o casos para vcs, eu trabalho
com geoprocessamento onde todos os dados geográficos
tanto vetores como rasters estão armazenados no banco
de dados, tanto em Oracle, como SQL Server e FireBird.
Deste modo todos nossos dados geográficos são armazenados
em campos BLOB, em um padrão definido pelo INPE.
Nós precisamos realizar o select max pois armazenamos por
exemplo o mosaico da Grande Sao Paulo (Raster) todo em uma
tabela em formato piramidal, ou seja, processamos as imagens
e criamos inumeros registros com N resoluções, para quando
executado um zoom somente aquela area de visualização trafegue pela
rede. Neste caso uma mesma area de visualização pode ter  N resoluções
representando a mesma area e de acordo com o retangulo envolvente
mundo que selecionei x1,y1,x2 e y2, o sistema calcula a melhor resolução
e procura no banco a maior resolução daquela area, mais proxima da
calculada,
por isto a utilização do MAX!

Valeu pela ajuda.

Só para vcs terem uma noção de como o FireBird esta respondendo bem, apesar
deste probleminha, temos cerca de 80 maquinas acessando o banco com
aproximadamente
10 GB e uns 170 mil registros imobiliarios, o resto é tudo dado geográfico.

[]'s
-------------------------------------------------------------------------

     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: "Anticlei Scheid" <cleischeid em yahoo.com.br>
To: "FireBase" <lista em firebase.com.br>
Sent: Tuesday, November 01, 2005 5:28 PM
Subject: Re: [firebase-br] Provider SIBPRO2


Boa tarde Rui.

    Porque você precisa executar um select max(...) considerando uma tabela
com esse tamanho?
    Talvez possamos ajudar na raíz do problema.

Abraço

----- Original Message -----
From: "Rui Mauricio" <rui em geo.funcate.org.br>
To: "FireBase" <lista em firebase.com.br>
Sent: Tuesday, November 01, 2005 5:06 PM
Subject: [firebase-br] Provider SIBPRO2


> 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
>>
>
>
> ______________________________________________
> 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
>


______________________________________________
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