[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