Em 30-11-2012 07:59, Anselmo Silva escreveu: > Bem, nos meus testes auditando a tabela que adiciona uma nova coluna com > default não gera o evento update, então suponho ser mais 'barato' esta > abordagem. > para informações mais técnicas, vide os mestres da lista.
E por causa disso, existe uma diferença lógica: Ao inserir nova coluna, as linhas existentes não terão o novo valor DEFAULT, somente novas linhas. > Em 30 de novembro de 2012 02:08, Danilo Silva > <danilo.dsg.go...@gmail.com <mailto:danilo.dsg.go...@gmail.com>> escreveu: > > Pessoal, > > Preciso incluir um novo campo em uma tabela, esse campo é do tipo > integer. Preciso que todos registros recebam o valor 1 referente a > esse novo campo. > > Minha dúvida está em saber qual dos comandos abaixo seria mais > rápido, ou não faz diferença? > > [1] ALTER TABLE tabela ADD COLUMN novo_campo integer; UPDATE tabela > SET novo_campo = 1; > ou > [2] ALTER TABLE tabela ADD COLUMN novo_campo integer DEFAULT 1; Note que na situação [1] você tem dois comandos em uma linha. Logo, a situação [1] será mais demorada que a [2], uma vez que a [1] é exatamente a [2] mais um UPDATE. > Lembrando que tanto faz em deixar ou não o campo com um valor > DEFAULT, mas como a tabela já possui registros (atualmente está com > 4500000 de registros), preciso que o valor seja 1 para os registros > já existentes. Então você precisará do UPDATE. Use sua linha [1]. []s __________________________________ Flavio Henrique A. Gurgel Líder de Projetos Especiais Consultoria, Projetos & Treinamentos 4LINUX Tel1: +55-11.2125-4747 ou 2125-4748 www.4linux.com.br email: fla...@4linux.com.br ______________________________ FREE SOFTWARE SOLUTIONS _______________________________________________ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral