[firebase-br] Fw: Perfornce em uma view

Cristiano Rebonatto crebonatto em upf.br
Qui Mar 31 15:48:10 -03 2005


É simples é uma Procedure Normal que retorna dados.....
Vamos pegar a sua view como exemplo e definir a sua Procedure.
Talvez tenha algum erro na definição, mas o caminho é por aí !

create procedure PRC_SALDO_CONV
RETURNS (CONV_ID numeric(6),
                          FECHAMENTO date,
                         SALDO float)
as
begin
    FOR  select contacorrente.conv_id, contacorrente.data_fecha_emp,
             sum(contacorrente.debito-contacorrente.credito) from 
contacorrente
              where contacorrente.baixa_conveniado <> 'S'
               group by contacorrente.conv_id, contacorrente.data_fecha_emp
               into CONV_ID, FECHAMENTO,SALDO
    do
    begin
       suspend;
    end
end;

para utilziar ela é simples, é como se fosse uma TABLE ou VIEW

select *  from  PRC_SALDO_CONV

outro exemplo
select conv_id,saldo from PRC_SALDO_CONV where fechamento = 31/03/2005

É isso aí !




Gustavo André Tenan escreveu:

> Olá Cristiano
>
> como implemento uma select procedure?
>
> alguem pode me passar algo?
>
> desde já agradeço
>
> Gustavo
>
>
> No seu caso eu utilizaria uma Select  Procedure no lugar da View!!!
> Acho q o FB não implementa Materialized Views
>
> Gustavo André Tenan escreveu:
>
>>
>> Olá pessoal,
>>
>> Estou querendo substituir uma table por uma view, por questões de
>> praticidade, como está table guarda o saldo dos correntistas estou
>> pensando em trocar por uma view para evitar os triggers e procedures
>> que tenho que rodar em toda movimentação da minha table de 
>> contacorrente, o problema é que tenho clientes que tem base de dados
>> com 60 mil pessoas cadastradas e um movimento de 700 autorizações
>> por dia.
>>
>> A minha principal view seria essa.
>> CREATE VIEW SALDO_CONV(
>>    CONV_ID,
>>    FECHAMENTO,
>>    SALDO)
>> AS
>> select contacorrente.conv_id, contacorrente.data_fecha_emp,
>>      sum(contacorrente.debito-contacorrente.credito) from contacorrente
>> where contacorrente.baixa_conveniado <> 'S'
>> group by contacorrente.conv_id, contacorrente.data_fecha_emp
>>
>> pela regra de negócios, antes de cada autorização eu tenho que 
>> verificar o saldo e para isso dou um select na view buscando por 
>> conv_id e fechamento, a grande diferença é que o select na view 
>> demora de 3 a 4 segundos mesmo eu tendo criado um índice na 
>> contacorrente por conv_id, data_fecha_emp e baixa_conveniado.(no 
>> ibexpert mostra que o servidor está usando o empece correto).
>>
>> existe como eu otimizar a performance da view?
>> ou neste caso em que preciso buscar os dados muitas vezes não é 
>> recomendável o uso de views?
>>
>> desde já agradeço
>>
>> Gustavo A. Tenan
>> ______________________________________________
>> 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://search.gmane.org/search.php?group=rebase
>>
>>
>>
>

-- 
+-----------------------------------------------------------+
 Cristiano Rebonatto 
 Setor de Análise e Desenvolvimento             
 Divisão de Tecnologia da Informação 
 Universidade de Passo Fundo
 Passo Fundo - RS
+-----------------------------------------------------------+



-- 
No virus found in this outgoing message.
Checked by AVG Anti-Virus.
Version: 7.0.308 / Virus Database: 266.8.6 - Release Date: 30/03/2005





Mais detalhes sobre a lista de discussão lista