Хранение Изображений в Базе Данных
У меня частенько спрашивают про то, где лучше хранить изображения в базе данных или в виде обычных файлов, а путь держать уже в базе данных. Конечно, 100% однозначного ответа не существует, однако, своё видение я в этой статье изложу.
На мой взгляд, преимущество хранения изображений в базе данных всего одно: отсутствие противоречий. Например, Вы создали какую-то запись в таблице, у которой есть путь к изображению. А потом это изображение случайно было удалено, в итоге, запись уже без изображения, хотя путь к нему всё равно имеется. Вот этого недостатка хранение изображений в базе данных позволяет избежать.
Теперь разберём явные минусы хранения изображений в БД:
- Изображение находится в BLOB, а это набор байтов. И чтобы этот набор байтов показать пользователю в виде изображения, придётся хорошенько попотеть с тем же header.
- Изображения - достаточно ёмкие элементы, извлечь которые задача не из лёгких для всегда ограниченной памяти сервера.
- Файловая система заточена под работу с файлами, поэтому она гораздо быстрее обработает то же изображение, чем MySQL будет его извлекать из таблицы, а Вы потом ещё будете создавать изображение из байтов.
Исходя из всего этого, мой ответ на вопрос - не стоит. Храните в виде обычных файлов, а пути к ним сохраняйте уже в базе данных.
- Михаил Русаков
Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт!
Добавляйтесь ко мне в друзья ВКонтакте: .
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: .
Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления
Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.
Порекомендуйте эту статью друзьям:
Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):
- Кнопка:
- Текстовая ссылка:
Source: myrusakov.ru
Обучение разработке под kubernetes на javakube