Ci sono 2 parti in questo:
- leggere il file xml
- scrittura al database
Per leggere il file xml, questo link http://csharptutorial.blogspot .com/2006/10/reading-xml-fast.html , mostra che 1 MB può essere letto in 2,4 secondi utilizzando il lettore di stream, che sarebbero 2400 secondi o 40 minuti (se la mia matematica funziona così tardi) per 1 GB di file.
Da quello che ho letto, il modo più veloce per ottenere dati in MySQL è usare LOAD DATA.
http://dev.mysql.com/doc/refman /5.1/en/load-data.html
Pertanto, se puoi leggere i dati xml, scrivili su file che possono essere utilizzati da LOAD DATA, quindi esegui LOAD DATA. Il tempo totale potrebbe essere inferiore alle ore che stai trascorrendo.