Gracias a todos por sus comentarios, estoy haciendo pruebas y como bien comenta Fernando, con el método 1 consigo un mejor aprovechamiento de los recursos.
Saludos. by: ISC. Manuel Alejandro Estévez Fernández El 22 de julio de 2014, 0:03, Fernando Hevia <fhe...@gmail.com> escribió: > > > 2014-07-21 16:06 GMT-03:00 Manuel A. Estevez Fernandez <stvz...@gmail.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. >