Translate

Pesquisar este blog

terça-feira, 24 de março de 2015

Fazendo operações de DDL mais rápidas no PostgreSQL

Operações como CREATE INDEX, ALTER TABLE, etc são conhecidas como operações de DDL.

Elas podem ser mais rápidas se combinados alguns fatores como:
-Setar o asynchronous_commit.
-Setar o maintenance_work_mem para um valor alto o suficiente.
-O valor de checkpoint_segments no arquivo postgresql.conf for alto o suficiente (é necessário reinciar o servidor).

O valor de checkpoint_segments por default é 3, muito baixo, se há escrita intensa no servidor é possível colocar em shared_buffers/16 Megabytes.


$ show maintenance_work_mem;

$ set local maintenance_work_mem to '1024MB';
$ set synchronous_commit to off;
$ create index concurrently on minhatabela using gin(campo_tsvector_que_demora_muito_por_exemplo);

Nenhum comentário:

Postar um comentário