MySQL (o SQL Server, Oracle, DB2, etc.) son motores de base de datos:son aplicaciones específicas que se construyeron para el almacenamiento y procesamiento de datos, y son muy buenos para hacerlo; también pueden ejecutarse en un servidor diferente al que se encuentra su programa principal, lo que permite compartir la carga.
Los archivos XML son solo archivos de texto almacenados en su máquina o en otra; necesitan ser leídos, analizados y escritos, y solo su programa puede hacer eso. También son muy, muy ineficientes, debido a su naturaleza de texto:leer y analizar un archivo de texto es muy lento, y modificarlo es aún peor.
Los archivos XML son buenos para almacenar ajustes de configuración y pasar datos entre diferentes sistemas, pero el almacenamiento y el procesamiento de datos definitivamente deben residir en un DBMS adecuado.
Además, referencia obligatoria de Joel Spolsky .