MySQL (lub SQL Server, Oracle, DB2 itp.) to silniki baz danych:są to specyficzne aplikacje, które zostały zbudowane do przechowywania i przetwarzania danych i są w tym bardzo dobre; mogą również działać na innym serwerze niż ten, na którym znajduje się główny program, co pozwala na współdzielenie obciążenia.
Pliki XML to tylko pliki tekstowe przechowywane na twoim lub innym komputerze; muszą być odczytywane, analizowane i zapisywane, a tylko twój program może to zrobić. Są też bardzo, bardzo nieefektywne, ze względu na ich tekstową naturę:czytanie i parsowanie pliku tekstowego jest bardzo powolne, a modyfikowanie go jeszcze gorzej.
Pliki XML są dobre do przechowywania ustawień konfiguracyjnych i przekazywania danych między różnymi systemami, ale przechowywanie i przetwarzanie danych powinno zdecydowanie działać w odpowiednim DBMS.
Ponadto obowiązkowe odniesienie do Joela Spolsky'ego .