Thiago Risso <[EMAIL PROTECTED]> escreveu:
A tabela tem cerca de 140.000 registros.
Quanto a colocar como unique eu não posso, pois posso gravar o CPF em branco, mas não posso repeti-lo ....
Eu tive que implantar essa trigger a uns dois meses atras, quando foi necessário aceitar cadastros com CPF em branco... até então era um campo unique.
E antes de colocar essa trigger os updates  GERAIS (SEM WHERE - PARA TODOS OS REGISTROS) eram muito rápidos....
Já cheguei a deixar a query executando por 2 minutos ... ai tive que matar pq o banco não respondia nenhuma outra query ....



Você considerou a possibilidade de criação de um índice parcial?
CREATE UNIQUE INDEX seu_indice_parcial ON candidato (ncpf)
WHERE (ncpf != '' AND ncpf NOTNULL);

[]s
Osvaldo


P.S. Isto não ajudará nos "UPDATES GERAIS". Avalie com um EXPLAIN ANALYZE o plano de execução de um update sem cláusula where.


Yahoo! Acesso Grátis - Internet rápida e grátis. Instale o discador agora!
_______________________________________________
Grupo de Usuários do PostgreSQL no Brasil
http://www.postgresql.org.br

Responder a