Назад | Перейти на главную страницу

хранить изображения в базе данных - SQL Server 2008

Насколько я понимаю, я могу это сделать тремя способами.

  1. Filestream
  2. Файловая система
  3. Хранить изображения в самой базе данных

Мне сложно решить, какой из них мне больше подходит.

У меня будет гораздо больше операций чтения, чем записи, но и записи будут происходить не так уж часто.

Все изображения наверняка будут размером менее 1 МБ, но обычно они составляют около 50 КБ.

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

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

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