Un dernier petit article du boulot pour parler de la fonction LOAD DATA de MySQL qui permet de faire des chargement massifs de données à partir de fichiers CSV.
Je suis tombé dessus par hasard il y a quelques mois seulement alors que je devais importer un fichier CSV de 40Klignes (de 3 petits champs alphanumériques). Cet import devait être fait régulièrement à distance et à l’aide d’un navigateur, le serveur HTTP tombait donc toujours en time out loin avant fin du fichier. J’ai donc cherché une fonction qui irait mieux que ma collection d’ordres INSERT et suis tombé sur LOAD DATA. Mes 40Klignes se sont laissées importer en moins de 5 secondes avec cette fonction ! La victoire était donc à moi.
Aujourd’hui je suis retombé dessus en lisant un site sur les entrepôts de données (Pentaho – Kettle), on y parle de MySQL bulk load, après quelques recherches, j’en viens à supposer très fortement que ces chargements massifs reposent sur LOAD DATA, ça ne serait pas étonnant, vue la performance époustouflante de cette fonction.