¿Alguna vez se ha preguntado por qué la carga masiva de datos tarda tanto en completarse en PostgreSQL? Aquí se presentan consejos de alto nivel para ayudar a acelerar su carga masiva.

Pasos

  1. 1 Comando COPY: Úselo para cargar una gran cantidad de filas en lugar de series de comandos INSERTS. Mucho más rápido que los insertos regulares. Es un 30% más rápido con las versiones de Postgres 8.1+.
  2. 2 Comando TRUNCATE: Para eliminar toda la tabla, use Truncar en lugar de eliminar. Una operación mucho más rápida y más eficiente con el espacio.
  3. 3 Índices de caída: Considere la posibilidad de descartar índices antes de actualizar la tabla: drop index => load (copy) => Build indexes => Recopilar estadísticas (analizar)
  4. 4 Parámetros de configuraciones a considerar para acelerar grandes cargas de datos: Aumente maintenance_work_mem: acelera la creación de índices y acelera la operación de aspiración
  5. 5 Aumentar puntos de control_segmentos: Vacía los búfers de memoria sucios en el disco. Las grandes cargas de datos pueden incurrir en puntos de control DB más frecuentes; por lo tanto, carga más lenta. Reduce la frecuencia del punto de control DB; por lo tanto, se acelera la carga general de datos a granel.
  6. 6 Archivo: Considere (temporalmente) deshabilitar el archivo de archivos WAL.
  7. 7 Analizar estadísticas: Siempre analice las estadísticas de objetos después.