Un database gestisce sicuramente i dati meglio di un file XML (è fatto apposta!). Quindi se a fare una ricerca in un file XML di 12000 righe risulta lento sicurmante ad eseguire una query su 12000 records in un database (e sono già sicuramente più record di quelli contenuti nel tuo XML, dato che hai parlato di righe e non di records) ci mette sicuramente meno. Considerando poi che la velocità varia in base a fattori differenti (tipo di database, macchina su cui gira, ecc... per citarne giusto un paio) se trovi la soluzione ottimale può metterci ancora meno tempo. E' loico che più aumenta il numero di records e più aumentano i tempi di esecuzione di una query (specie se questa query è già un po' più complessa) però sicuramente in rapporto all'utilizzo di un file XML non c'è paragone, altrimenti perché inventavano ii database. E' anche molto più comodo per effettuare modifiche a dei record, pensa se ti devi mettere a cercare un record in mezzo al codice XML. Che poi XML sia potente ed utilissimo non lo metto in dubbio, ma in questo caso, come ti ha già detto Seph, è follia pura!