From: | Fernando Hevia <fhevia(at)gmail(dot)com> |
---|---|
To: | "Manuel A(dot) Estevez Fernandez" <stvzito(at)gmail(dot)com> |
Cc: | Anthony Rafael Sotolongo León <asotolongo(at)uci(dot)cu>, Lista PostgreSQL <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Re: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] Mejores prácticas en procedimientos de carga de información |
Date: | 2014-07-22 05:03:40 |
Message-ID: | CAGYT1XQ6oN6mYY+O6UWFKZj68EhkW9-3tURSKuxviU2xfWNVjA@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
2014-07-21 16:06 GMT-03:00 Manuel A. Estevez Fernandez <stvzito(at)gmail(dot)com>:
>
> Proceso 1 :
> -Creo tabla.
> -Cargo datos
> -Genero indices
>
> o
> Proceso 2:
> -Trunco tabla con los indices ya creados.
> -Cargo Datos
>
>
>
Proceso 1 es más eficiente. Además te permite luego crear los índices en
paralelo y aprovechar tus múltiples cores si disparas los CREATE INDEX
desde sesiones independientes.
La creación de índices sobre tablas muy grandes la podes acelerar
incrementando el parámetro de la base maintenance_work_mem. Si vas a
paralelizar la creación de índices asegurate de darle suficiente RAM para
que almacene los índices completos en memoria.
También puedes setear fsync = off para acelerar notablemente la tasa de
escritura. Sugiero lo hagas sólo si la base es prescindible y te puedes
permitir perder información en caso de falla (ej. corte de energía). Algo
perfectamente válido para una base que se recrea diariamente para la carga
de datos de un DW.
Acá hay más info de como acelerar la carga:
http://www.postgresql.org/docs/9.3/static/populate.html
Saludos.
From | Date | Subject | |
---|---|---|---|
Next Message | Guillermo E. Villanueva | 2014-07-22 13:21:02 | Re: Actualizar registros en una tabla |
Previous Message | Eduardo Arenas C. | 2014-07-21 19:14:38 | Re: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] Mejores prácticas en procedimientos de carga de información |