2015-09-01 4 views
3

Я хочу хранить изображения в базе данных sql. Размер изображения составляет от 50 кб до 1 мб. Я читал о FileStream и FileTable, но я не знаю, что выбрать. Каждая строка будет иметь 2 изображения и некоторые другие поля.FileStream vs FileTable

Изображения никогда не будут обновлены/удалены и около 3000 строк будут вставлены в день.

Что рекомендуется в этой ситуации?

+0

Возможный дубликат [FILESTREAM/FILETABLE Разъяснений по осуществлению] (http://stackoverflow.com/questions/11644623/filestream-filetable-clarifications-for-implementation) – DdW

ответ

4

Первоначально всегда было плохой идеей хранить файлы (= двоичные данные) в базе данных. Обычное обходное решение заключается в том, чтобы сохранить путь к файлу в базе данных и убедиться, что файл существует на этом пути. Можно хранить файлы в базе данных, но с типом данных varbinary(MAX).

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

был введен с и является улучшением над filestream, поскольку он обеспечивает метаданные непосредственно SQL и позволяет получать доступ к файлам за пределами SQL (вы можете просматривать файлы).

Советы: Определенно использовать FileStream, и неплохо было бы использовать FileTable.

Больше чтения (краткое): http://www.databasejournal.com/features/mssql/filestream-and-filetable-in-sql-server-2012.html

-2

Это зависит. Я лично предоставлю ссылку на изображение внутри таблицы. Это проще, и файлы из каталога могут быть скопированы отдельно.

Вы должны принять во внимание несколько вещей:

  1. Как вы будете обрабатывать изображения. Имея только ссылку, вы легко включаете imges внутри веб-страниц (с конфигурацией propper веб-сервера).

  2. Сколько стоят изображения - если они хранятся в БД и их много - это увеличит размер БД и резервных копий.

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

+1

Это просто отвечает на вопрос, использовать ли Filestream или нет. – DdW

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