JSON předpokládá utf8, a proto je nekompatibilní s obrázky, pokud nejsou nějakým způsobem zakódovány.
Base64 je téměř přesně 8/6 krát objemnější než binární (BLOB). Někdo by mohl namítnout, že je to snadno dostupné. 3000 bytes
bude mít asi 4000 bytes
.
Všichni by měli být schopen přijímat libovolné 8bitové kódy, ale ne každý to dělá. Base-64 může být nejjednodušší a celkově nejlepší kompromis pro to, že se nemusíte zabývat 8bitovými daty.
Vzhledem k tomu, že jsou to "malé", uložil bych je do tabulky, ne do souboru. Uložil bych je však do samostatné tabulky a JOIN
pomocí vhodného id
když je potřebujete. To umožňuje, aby dotazy, které nepotřebují obrázek, běžely rychleji, protože nepřekračují objekty BLOB.
Technicky vzato, TEXT CHARACTER SET ascii COLLATE ascii_bin
by to šlo, ale BLOB
objasňuje, že ve sloupci skutečně není žádný použitelný text.