Em 10 de abril de 2013 14:48, Douglas Fabiano Specht <
[email protected]> escreveu:
>
> boa tarde pessoal,
> tenho uma tabela com uns 8 campos e 3.8 milhões de registros, ocorre que
ao criar um campo novo e setar um valor nele logo após, está demorando em
torno de 30min.

Isso é esperando ...

> comando
> ALTER TABLE custo  ADD COLUMN teste double precision;
> update custo set teste=0
>
> gostaria de uma orientação de quais variáveis podem interferir nesse tipo
de comando.
> utilizo windows, mas fiz os testes tbm em linux e o tempo nao mudou muito.

Minha sugestão é vc usar o comando "create table as" [1]. Altera essa
tabela nova com a nova coluna que você deseja acrescentar
Depois você faz um insert nessa nova tabela com um select da tabela de
origem, acrescentando o valor default do novo campo.

Exclui a tabela antiga e renomeia a nova.

Atente para as sequences, indices, PK, FK, etc da nova tabela.

Faz tudo em um ambiente de teste primeiro, valida o procedimento e depois
executa onde tiver que executar.!!

1 - http://www.postgresql.org/docs/9.2/static/sql-createtableas.html

--
Marcone Peres - DBA
http://www.linkedin.com/in/marconeperes
http://oraculogeo.blogspot.com.br/
@marconeperes
(61) 8146-0028
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a