>
> ​A minha tabela possui uma outra com históricos​, então eu tenho o
> seguinte cenário:
> Tabela principal com 79 colunas, 1,5 milhões de registros e 596 MB de
> tamanho;
> Tabela de historico com 20 colunas, 10 milhões de registros e 1,2 GB de
> tamanho;
>
> Para excluir os registros da tabela principal, eu tenho que excluir
> primeiro na tabela de historicos, então eu excluí os 20 mil registros
> utilizando o operador "IN" e o delete foi rápido, porém, na tabela
> principal não, o campo utilizado no delete não é a PK mas um índice único.
> Será que pode ter ocorrido algum problema na tabela principal como um
> índice corrompido?
>
> No explain utilizando o "IN" eu tenho: Delete on tabela_a
> (cost=25.50..96449.56 rows=20059 width=6)
> ​Utilizando o método proposto pelo Telles eu tenho: ​Delete on tabela_a
> (cost=356.43..1324.56 rows=843680 width=12)
>

Rode o EXPLAIN ANALYZE ao invés do EXPLAIN simples. Outra coisa que pode
ajudar é depois de fazer o INSERT na tabela 'f', rodar um ANALYZE na tabela
'f'. Assim o otimizador deverá fazer um trabalho melhor.

-- 
Atenciosamente,
Fábio Telles Rodriguez
blog: http:// <http://www.midstorm.org/~telles/>s
<http://tellesr.wordpress.com/>avepoint.blog.br
e-mail / gtalk / MSN: [email protected]
Skype: fabio_telles

Timbira - A empresa brasileira de Postgres
http://www.timbira.com.br
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a