JSON приема utf8, следователно е несъвместим с изображения, освен ако не са кодирани по някакъв начин.
Base64 е почти точно 8/6 пъти по-обемист от двоичен (BLOB). Може да се твърди, че е лесно достъпен. 3000 bytes
става около 4000 bytes
.
Всеки трябва да може да приема произволни 8-битови кодове, но не всеки го прави. Base-64 може да е най-простият и като цяло най-добрият компромис, за да не се налага да се занимавате с 8-битови данни.
Тъй като те са "малки", бих ги съхранил в таблица, а не във файл. Въпреки това бих ги съхранил в отделна таблица и JOIN
чрез подходящ id
когато имате нужда от тях. Това позволява на заявките, които не се нуждаят от изображението, да се изпълняват по-бързо, защото не прекрачват BLOB-овете.
Технически, TEXT CHARACTER SET ascii COLLATE ascii_bin
ще направи, но BLOB
прави по-ясно, че всъщност няма използваем текст в колоната.