infile habilitar from example data acentos mysql performance indexing load-data-infile

habilitar - mysql import data from csv using load data infile



MySQL load data infile-¿aceleración? (3)

a veces, tengo que volver a importar datos para un proyecto, leyendo 3.6 millones de filas en una tabla MySQL (actualmente InnoDB, pero en realidad no estoy limitado a este motor). "Carga de datos de archivo ..." ha demostrado ser la solución más rápida, sin embargo, tiene una compensación: - al importar sin claves, la importación en sí tarda unos 45 segundos, pero la creación de claves lleva años (ya se ejecuta durante 20 minutos ... .). - Hacer importación con claves sobre la mesa hace que la importación sea mucho más lenta

Hay claves en 3 campos de la tabla, haciendo referencia a campos numéricos. ¿Hay alguna forma de acelerar esto?

Otro problema es: cuando termino el proceso que ha iniciado una consulta lenta, continúa ejecutándose en la base de datos. ¿Hay alguna forma de finalizar la consulta sin reiniciar mysqld?

Muchas gracias DBa



InnoDB es un motor bastante bueno. Sin embargo, depende mucho de estar "sintonizado". Una cosa es que si las inserciones no están en el orden de aumentar las claves primarias, innoDB puede tardar un poco más que MyISAM. Esto se puede superar fácilmente estableciendo un valor mayor de innodb_buffer_pool_size. Mi sugerencia es establecerlo en 60-70% de su RAM total en una máquina MySQL dedicada.


Si está usando innodb y carga masiva aquí hay algunos consejos:

clasifique su archivo csv en el orden de clave principal de la tabla de destino: recuerde que innodb usa claves primarias agrupadas para que se cargue más rápido si se ordena.

típico de datos de carga que utilizo:

truncate <table>; set autocommit = 0; load data infile <path> into table <table>... commit;

otras optimizaciones que puede usar para aumentar los tiempos de carga:

set unique_checks = 0; set foreign_key_checks = 0; set sql_log_bin=0;

dividir el archivo csv en trozos más pequeños

estadísticas típicas de importación que he observado durante las cargas masivas:

3.5 - 6.5 million rows imported per min 210 - 400 million rows per hour