ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

Melhorando Triggers

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Banco de Dados
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
sidneyps
Aprendiz
Aprendiz


Registrado: Quarta-Feira, 16 de Março de 2005
Mensagens: 118

MensagemEnviada: Qui Jan 11, 2007 12:38 pm    Assunto: Melhorando Triggers Responder com Citação

Pessoal,
eu tenho a Triggers abaixo e ela esta demorando muito, gostaria de saber se o motivo é a estrutura dela. Alguém poderia verificar se a estrutura pode ser melhorada?

CREATE TRIGGER ALTERARREFMEDIDOR FOR RZ
ACTIVE BEFORE UPDATE POSITION 0
AS
begin
/* ATUALIZAR CAMPOS RZ,RT,APCONTA E LOCAL DOS MEDIDORES CASO AJA MUDANÇA DE ROTA */
if ((new.ref <> old.ref) and
(exists(select * from CADMED M where M.cad_razao=old.razao and M.cad_rt=old.livro
and M.local=old.local and M.cad_conta=old.conta))) then
update CADMED M set
M.cad_razao=new.razao,
M.cad_rt=new.livro,
M.local=new.local,
M.cad_conta=new.conta
where M.cad_razao=old.razao and M.cad_rt=old.livro
and M.local=old.local and M.cad_conta=old.conta ;
end

SET TERM ; ^
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
thomazs
Moderador
Moderador


Registrado: Segunda-Feira, 1 de Março de 2004
Mensagens: 2835

MensagemEnviada: Qui Jan 11, 2007 6:51 pm    Assunto: Responder com Citação

Aparentemente, o que você pode fazer pra melhorar o desempenho é criar alguns índices, para otimizar o update.
_________________
Suporte e Consultoria em Desenvolvimento de Sistemas
Bacharel em Sistemas de Informação
Especialista em Bancos de Dados
Desenvolvimento: Clipper, Delphi, PHP, Python/Django
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular MSN Messenger
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Banco de Dados Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB