sql >> Base de Datos >  >> RDS >> Mysql

MYSQL Insertar enormes archivos SQL de GB de tamaño

Dado que tiene menos de 50 GB de memoria (por lo que no puede almacenar en búfer toda la base de datos en la memoria), el cuello de botella es la velocidad de escritura de su subsistema de disco.

Trucos para acelerar las importaciones:

  • MyISAM no es transaccional, es mucho más rápido en inserciones de un solo subproceso. Intente cargar en MyISAM, luego ALTER la tabla a INNODB
    • Utilice ALTER TABLE .. DISABLE KEYS para evitar actualizaciones de índice línea por línea (solo MyISAM)
    • Establecer bulk_insert_buffer_size por encima de su tamaño de inserción (solo MyISAM)
    • Establecer unique_checks = 0 para que no se controlen las restricciones únicas.

Para obtener más información, consulte Carga masiva de datos para tablas InnoDB en el manual de MySQL .

Nota :si la tabla original tiene restricciones de clave externa, usar MyISAM como formato intermedio es una mala idea.