Існує справді хороша стаття від Microsoft Research під назвою Blob or Not Blob .
Їх висновок після великої кількості тестів та аналізу продуктивності такий:
якщо розмір ваших фотографій або документів зазвичай менше 256 КБ, зберігати їх у стовпці VARBINARY бази даних ефективніше
якщо розмір ваших фотографій або документів зазвичай перевищує 1 МБ, зберігання їх у файловій системі є більш ефективним (а з атрибутом FILESTREAM SQL Server 2008 вони все ще перебувають під контролем транзакцій та є частиною бази даних)
між цими двома, це трохи підкидання залежно від вашого використання
Якщо ви вирішите розмістити свої фотографії в таблиці SQL Server, я настійно рекомендую використовувати окрему таблицю для зберігання цих зображень - не зберігайте фотографії співробітників у таблиці співробітників - зберігайте їх в окремій таблиці. Таким чином, таблиця співробітників може залишатись стрункою та підлою та дуже ефективною, припускаючи, що вам не завжди потрібно також вибирати фотографію працівника як частину ваших запитів.
Для файлових груп перегляньте Файли та архітектура файлових груп . По суті, ви б або створили свою базу даних з окремою групою файлів для великих структур даних від самого початку, або додали додаткову групу файлів пізніше. Давайте назвемо це "LARGE_DATA".
Тепер, коли у вас є нова таблиця для створення, яка повинна зберігати стовпці VARCHAR (MAX) або VARBINARY (MAX), ви можете вказати цю групу файлів для великих даних:
CREATE TABLE dbo.YourTable
(....... define the fields here ......)
ON Data
TEXTIMAGE_ON LARGE_DATA
Перевірте вступ MSDN у файлові групи та пограйте з ним!