500 MB je miniaturní databáze, v tom problém určitě nebude. Problém může být ve špatné struktuře dat (např. chybějící indexy), nebo ve špatných dotazech (nevyužívají se indexy, z databáze se tahá víc dat, než je potřeba…).
SQL databáze sice nejsou určené pro ukládání souborů, ale použít se k tomu dají. U takhle miniaturní databáze s tím nejspíš nebude žádný problém. Výhoda uložení v databázi je, že máte zaručenou referenční integritu (pokud tak databázi navrhnete, samozřejmě). Např. při obnově ze zálohy nemusíte nic řešit, prostě obnovíte data do nové databáze a můžete pokračovat. Nevýhodou je také zálohování – nejspíš budete dělat dump celé databáze, takže i neměnící se data budete mít v každé záloze znova. Při použití souborů byste nejspíš zálohoval jen rozdíly. Použití databáze může mít ještě jednu nevýhodu u zatíženého webu – data se budou v paměti několikrát kopírovat, při použití souborů je možné data odeslat rovnou z diskové mezipaměti bez kopírování.
Každopádně je neefektivní binární data do databáze ukládat v base64, zbytečně se tím zvětší objem dat o třetinu. Navíc při použití to zase musíte dekódovat, takže ta data budete mít nejspíš v jednu chvíli v paměti dvakrát. Pro ukládání velkých binárních dat do SQL databází slouží datový typ BLOB – Binary Large OBject.