Картинки в БД SQL - PullRequest
       10

Картинки в БД SQL

0 голосов
/ 13 сентября 2009

насколько большой (двоичный (xy)) я должен сделать столбец таблицы в базе данных SQL, если я хочу хранить там снимки, сделанные камерой - это означает, что размер переменной до ... Я не знаю ... 7 МБ? Но если бы я предпочел ограничить размер до 2 МБ или около того, я бы сделал это. Каково ваше мнение?

EDIT

Или где еще их хранить? Я строю веб-галерею, используя asp.net mvc.

Ответы [ 3 ]

3 голосов
/ 13 сентября 2009

То, о чем вы говорите, это столбец varbinary. Конечно, если вы сделаете varbinary больше 8000, он немедленно преобразует его в столбец varbinary(max), то есть может хранить до 2 ГБ. Это связано с тем, как SQL Server хранит строки (8 КБ на страницу).

Следовательно, каждая строка хранит столбец как указатель на биты. Итак, что бы я сделал, если бы я был на моем месте, было бы сохранить изображения в файловой системе и хранить расположение этих файлов в базе данных.

0 голосов
/ 13 сентября 2009

Как уже говорили другие в комментариях (кстати, на какие вы, ребята, должны были быть ответы, несмотря на кулонскую полицию), у вас действительно должна быть веская причина для сохранения изображений в базе данных. В противном случае просто поместите их в файловую систему.

Особенно это относится к случаю, когда изображения доставляются с веб-сервера. Веб-сервер гораздо эффективнее доставляет изображения из файловой системы, чем ваш код будет извлекать их из базы данных.

0 голосов
/ 13 сентября 2009

Если вы хотите хранить изображения в SQL Server, используйте тип столбца varbinary (max). Это разрешает до 2 Гб (если я помню).

Кроме того, поскольку вы используете SQL Server 2008 (я не знаю, что такое Express Edition tho '), вы можете использовать новый тип данных filestream .

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

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

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