Talvez possa resolver isso na aplicação.
Monte um script que gere um processo de remoção, passe parâmetros e
deixo-o fazendo este trabalho.

Fernando



Em 27 de janeiro de 2011 14:32, sergio santos
<[email protected]> escreveu:
> Pessoal
> Estive procurando pela lista sobre "Delete muito lento" e encontrei um
> artigo do Fábio Telles Rodriguez em:
> http://www.midstorm.org/~telles/2007/11/29/nao-use-delete-use-insert/
> Também vi que já aconteceu uma grande discussão sobre este assunto em:
> http://www.mail-archive.com/[email protected]/msg04746.html
>
> No entanto, depois de ler tudo isso, não consegui fazer com que o meu
> comando
>
> DELETE FROM Esquema.TABELA1  WHERE CAMPO2 IN(
>     SELECT CAMPO2 from Esquema.TABELA1
>     WHERE CAMPO1 = 'D_E_L'
>     LIMIT 30000
> );
>
> se torne viável.
>
> A consulta se refere a uma tabela de 1.352.996 registros e pelo menos 6
> FOREIGN KEY.
>
> Não posso simplesmente dar um TRUNCATE na TABELA1 uma vez que é uma tabela
> em produção.
> Não posso também deletar as FOREIGN KEY e depois habilitá-las novamente,
> pois acho isso muito arriscado, a tabela é muito importante aqui na empresa.
>
> Alguém tem alguma dica de como melhorar a performance em um DELETE ?
>
> O Query Plan segue abaixo
>
> "Nested Loop  (cost=54559.52..55425.84 rows=200 width=6)"
> "  ->  HashAggregate  (cost=54559.52..54561.52 rows=200 width=4)"
> "        ->  Limit  (cost=0.00..54184.52 rows=30000 width=4)"
> "              ->  Seq Scan on TABELA1  (cost=0.00..69348.96 rows=38396
> width=4)"
> "                    Filter: ((CAMPO1)::text = 'D_E_L'::text)"
> "  ->  Index Scan using pedido_pkey on pedido  (cost=0.00..4.31 rows=1
> width=10)"
> "        Index Cond: (Esquema.TABELA1.CAMPO2 = Esquema.TABELA1.CAMPO2)"
>
>
> Obrigado
>
> ------------------------
> Sérgio Antônio dos Santos
> Bacharel em Sistemas de Informação
>
> Cel: (31) 8601-5207
> Residencia: (31) 3885-2346
> site: http://www.clientside.com.br
> Twitter: @serginhosant
> Linkedin: http://br.linkedin.com/in/serginhosant
> Delicious: http://www.delicious.com/serginhosant
> Fotos: http://picasaweb.google.com/sergio.serginhosant
>
>
> -----------
> “Rogo a Deus como se esperasse tudo d’Ele, mas trabalho como se esperasse
> tudo de mim” S.Tomás de Aquino
>
> _______________________________________________
> pgbr-geral mailing list
> [email protected]
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
>
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a