php: хранить изображение в Mysql blob, хорошо или плохо? - PullRequest
11 голосов
/ 11 июня 2011

этот вопрос сбивает меня с толку, поэтому я подумал, что мне следует послушать экспертный голос!MySQL поле?

большое спасибо

Ответы [ 3 ]

22 голосов
/ 11 июня 2011

Я часто создавал системы для хранения изображений в базе данных, есть плюсы и минусы в этом.

Плюсы:

  • Все ваши данные хранятся в одном месте,если вы перенесете свой веб-сайт / базу данных, изображения будут просто там
  • Проще отсортировать / удалить / и т. д. *
  • Поскольку вы должны обслуживать его с помощью сценария PHP, вы можете выполнитьдополнительные вещи, такие как безопасность, если требуется, или обработка изображений (очевидно, вы можете сделать это и с плоским файлом, но вы должны убедиться, что безопасность нельзя обойти, оставив изображения в общедоступном каталоге).

Минусы:

  • Это медленнее, чем обслуживать плоский файл с веб-сервера, поскольку PHP-скрипт должен его получить, а MySQL должен возвращать данные.
  • Ваша база данных станетбольшой, очень быстрый, и не все веб-хосты относятся к этому слишком любезно.
  • Файловая система быстрее для хранения и извлечения файлов, так как именно для этого предназначена файловая система.
2 голосов
/ 11 июня 2011

Bad.Ваш веб-сервер гораздо лучше справляется с управлением заголовками срока действия и прямой загрузкой файлов из файловой системы.Пропускная способность будет намного выше при использовании файловой системы.Это то, для чего он предназначен, используйте его.

Базы данных SQL предназначены для реляционных данных, а не изображений.Вы просто загружаете свою базу данных без необходимости.Вместо этого сохраните путь / имя изображения.

0 голосов
/ 26 октября 2011

Если ваше приложение имеет большой размер, т. Е. Вам нужно многократно отображать большое количество / размер изображений, тогда вам следует выбрать первый метод (сохранение только пути к изображениям в базе данных и фактических изображений в файловой системе). Это сократит время обработки для отображения изображений, а также потребляет меньше ресурсов. Во-вторых, если вашему приложению требуется меньшее количество изображений, вы можете хранить их непосредственно в базе данных. Таким образом, становится проще создавать резервные копии и переносить приложение на другую ОС.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...