atualizar tomada coluna lote único de tempo e muito espaço em disco no PostgreSQL

votos
0

I foi executado a consulta atualização em única coluna com 10 milhões de registros. ele está levando muito tempo e muito espaço em disco no PostgreSQL. por favor, encontrar a consulta abaixo. Atualização conjunto de teste record_status = 'eu' ; e meu tipo de dados coluna é carvão animal (1)

por favor me sugerir por que ele está tomando muito tempo e muito espaço em disco.

Obrigado, Vittal

Publicado 20/09/2018 em 04:24
fonte usuário
Em outras línguas...                            


1 respostas

votos
1

Em PostgreSQL, um UPDATEcria uma nova versão da linha ( “tupla”) (ver, por exemplo, esta parte da documentação).

Então, atualizando cada linha na tabela, você efetivamente dobrar o tamanho da tabela. As versões de linha antigos são removidos por autovacuum, mas o tamanho da tabela permanece a mesma (torna-se “inchado”).

O espaço vazio pode ser reutilizado por futuras INSERTs, mas se você quiser se livrar dele, use VACUUM (FULL).

A longa duração também é explicada pelas muitas novas tuplas. O aumento max_wal_sizepode ajudar alguns, reduzindo o número de postos de controle que são causados pela declaração.

Respondeu 20/09/2018 em 05:09
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more