[firebase-br] Muitos Deadlock no banco

Marcelo Moreira marcelomoreira.souza em gmail.com
Qua Out 28 12:12:29 -03 2009


Pessoal,
Obrigado a todos pelos comentarios.
O que acontece é que ja estou com este problema ja tem um tempo e nao estou
conseguindo resolver.
Minha situacao é que eu tenho uma tabela com um cadastro de enventos.
Recebe dados nesta tabela de clientes de todo o Brasil ou seja sao muitos
registros.
Para despachar estes eventos eu tenho 20 aplicativos clientes conectados no
banco e fazendo um select mais ou menos assim:
  select
    first(1) EV.ID_EVENTO
  from
    EVENTO EV
  where
    (EV.ID_EVENTO_STATUS = 1) and
    (EV.RESERVADO = 1) and
    (current_date >= EV.DATA_INICIAL) and
    (current_time between EV.HORA_INICIAL and EV.HORA_FINAL)
Depois que obtenho o ID_ENVENTO eu atualizo o registro assim:
update EVENTO set RESERVADO = 2 where ID_EVENTO = :ID_EVENTO
O que esta acontecendo é que como tenho 20 aplicativos executando o mesmo
select esta acontecendo de mais de um aplicativo estar pegando o mesmo
ID_EVENTO e na hora de setar RESERVADO = 2 eles estao tentando atualizar o
mesmo registro.

Alguem arrisca uma idéia de como resolver isso?
Obrigado a todos.

2009/10/28 Carlos H. Cantu <listas em warmboot.com.br>

> Corrupção não. Mas o fato de vc estar tendo muitos deadlocks pode
> indicar que seu controle transacional não está legal, e isso sim pode
> gerar lentidão.
>
> []s
> Carlos H. Cantu
> www.FireBase.com.br <http://www.firebase.com.br/> - www.firebirdnews.org
> www.warmboot.com.br - blog.firebase.com.br
>
> MM> Pessoal,
> MM> Bom dia!
>
> MM> Muitas ocorrencias de deadlock no banco pode causar algum tipo de
> problema
> MM> como por exemplo corromper o banco? deixar o banco mais lento? algum
> outro
> MM> tipo de problema?
>
> MM> Estou usando o Firebird 2.1 e estou tendo varias ocorrencias de
> deadlock no
> MM> meu banco.
>
> MM> Grato pela atenção.
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>



-- 
Marcelo Moreira
(31) 8420-2723
E-mail / MSN: marcelomoreira.souza em hotmail.com
E-mail: marcelomoreira.souza em gmail.com
Skype: marcelomoreira.souza



Mais detalhes sobre a lista de discussão lista