Usa la ruta nativa de bulk-load de la base de datos (Postgres COPY, MySQL ), divide el fichero en chunks cargados hacia una con índices y constraints , luego reconstruye los índices una vez y haz merge — y haz todo el job para que un crash pueda reanudar sin duplicar filas.
