Dos opciones a considerar:
1) lo más fácil es incluir varias filas de valores en una inserción. Esto es mucho, mucho más rápido que hacer múltiples inserciones.
Insetad de hacer INSERT INTO tbl ( cols ) VALUES ( vals )
, haga algo como INSERT INTO tbl ( cols ) VALUES ( vals ), ( vals ), ( vals )
La cantidad de filas que puede insertar a la vez depende del tamaño máximo de paquete del servidor mysql, pero probablemente pueda hacer 100, 1000, tal vez 10000 filas de manera segura y debería brindarle un aumento de rendimiento de un orden de magnitud o más.
Consulte http://dev.mysql.com/doc/ refman/5.5/en/insertar-velocidad.html
2) CARGAR ARCHIVO DE DATOS es un poco diferente, requiere más trabajo y tiene sus propios requisitos, pero es muy, muy rápido.