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