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