MySQL (of SQL Server, Oracle, DB2, enz.) zijn database-engines:het zijn specifieke applicaties die zijn gebouwd voor gegevensopslag en -verwerking, en daar zijn ze heel goed in; ze kunnen ook op een andere server draaien dan die waarop je hoofdprogramma staat, waardoor load sharing mogelijk is.
XML-bestanden zijn slechts tekstbestanden die op uw computer of op een andere zijn opgeslagen; ze moeten worden gelezen, geparseerd en geschreven, en alleen uw programma kan dat doen. Ze zijn ook echt, echt inefficiënt, vanwege hun tekstkarakter:het lezen en ontleden van een tekstbestand is erg traag, en het wijzigen ervan is nog erger.
XML-bestanden zijn goed voor het opslaan van configuratie-instellingen en het doorgeven van gegevens tussen verschillende systemen, maar gegevensopslag en -verwerking zouden zeker in een goed DBMS moeten leven.
Ook verplichte Joel Spolsky-referentie .