Я утверждаю, что изображения (файлы) обычно НЕ хранятся в базе данных в кодировке base64. Вместо этого они хранятся в необработанном двоичном виде в двоичном (двоичном) столбце (или файле).
Base64 используется только в качестве транспортного механизма, а не для хранения. Например, вы можете встроить изображение в кодировке base64 в документ XML или сообщение электронной почты.
Base64 - также дружественный поток. Вы можете кодировать и декодировать на лету (не зная общего размера данных).
Хотя base64 подходит для транспорта, не храните изображения в кодировке base64 .
Base64 не предоставляет контрольной суммы или чего-либо другого для хранения.
Кодировка Base64 увеличивает требования к хранилищу на 33% по сравнению с необработанным двоичным форматом. Это также увеличивает объем данных, которые необходимо прочитать из постоянного хранилища, которое по-прежнему является самым большим узким местом в вычислениях. Как правило, быстрее читать меньше байтов и кодировать их на лету. Только если ваша система связана с процессором, а не с IO, и вы регулярно выводите изображение в base64, подумайте о сохранении в base64.
Встроенные изображения (изображения в кодировке base64, встроенные в HTML) сами по себе являются узким местом - вы отправляете на 33% больше данных по проводам и делаете это последовательно (веб-браузер должен ждать встроенных изображений, прежде чем он может завершиться). загрузка страницы HTML).
Если вы все еще хотите хранить изображения в кодировке base64, пожалуйста, что бы вы ни делали, убедитесь, что вы не храните данные в кодировке base64 в столбце UTF8, а затем проиндексируйте их.