1

I am currently rebuilding our Intranet and in the process simplifying the database. Currently I have several tables with BLOB objects for resources. I have an Announcements table with photos or files, a user table with a photo and a marketplace item table with photos. In each case the BLOB object has been separated out into another linked table.

Each of these photo/files is stored (historically) in their own table, and as I've migrated them into one system I've begun to wonder if I wouldn't be better off storing all the files and images in an "Assets" table and then referencing that table rather than having three almost identical tables?

Performance is my main concern, but then readability and maintainability is the reason why I'm rebuilding the Intranet.

Tod
  • 2,070
  • 21
  • 27
  • Impossible to answer. Using [FILESTREAM](https://technet.microsoft.com/en-us/library/bb933993%28v=sql.105%29.aspx) is a *lot* more helpful than splitting or merging tables - the blobs are stored outside the database, streamed from the file system but are still part of transactions and can be backed up. Separate tables allow you to deal with each entity as a whole. A single table doesn't offer much but it does cause maintainability issues - does that row contain a script or a picture? – Panagiotis Kanavos May 06 '15 at 11:12
  • They're all photos, and Filestream seems like a waste of time as most of the data is manipulated (Usually resized) before being cached and rendered. Also the database server isn't the web host so I'm not sure how it helps hosting. I know little about Filestream and I am willing to be educated, I just don't see the benefit. – Tod May 11 '15 at 07:32

0 Answers0