2016-03-12 3 views
1

Каков наилучший способ хранения изображения в mysql db. Могу ли я хранить данные типа blob или просто вставлять URL-адрес изображения. Также существует ли разница в производительности при хранении изображения с использованием blob или url изображения?Каков наилучший способ хранения изображения в mysql db

+0

Я думаю, лучше хранить base64 закодированную строку, –

+0

Я знаю людей, которые клянутся блобами и людьми, которые клянутся по URL-адресам. Есть преимущества и недостатки для обоих. Здесь нет правильного ответа, поэтому лучше всего подходит для вашей установки. – apokryfos

ответ

4

Не храните свое изображение в блобе или что-то еще. Сохраните изображения где-нибудь на диске со ссылкой на расположение изображения в базе данных. Этот способ намного более гибкий, и размер базы данных остается небольшим.

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

+0

Поскольку это помечено как просто MySQL, стоит отметить, что нет способа проверить, существует ли изображение или было перемещено только с использованием MySQL. Некоторые проверки целостности данных должны быть перемещены за пределы базы данных, что некоторые люди скажут, что это настоящая боль. Я бы порекомендовал, чтобы сохранить изображение на диск, чтобы переименовать его на основе хэша строки строки базы данных, чтобы сделать некоторую базовую проверку таким образом. – apokryfos

Смежные вопросы