Il y a 2 parties à cela :
- lecture du fichier xml
- écrire dans la base de données
Pour lire le fichier xml, ce lien http://csharptutorial.blogspot .com/2006/10/reading-xml-fast.html , montre que 1 Mo peut être lu en 2,4 secondes à l'aide d'un lecteur de flux, soit 2 400 secondes ou 40 minutes (si mes calculs fonctionnent si tard) pour un fichier de 1 Go.
D'après ce que j'ai lu, le moyen le plus rapide d'obtenir des données dans MySQL est d'utiliser LOAD DATA.
http://dev.mysql.com/doc/refman /5.1/fr/load-data.html
Par conséquent, si vous pouvez lire les données xml, écrivez-les dans des fichiers pouvant être utilisés par LOAD DATA, puis exécutez LOAD DATA. Le temps total peut être inférieur aux heures que vous vivez.