Jest naprawdę dobry artykuł opublikowany przez Microsoft Research zatytułowany To Blob or Not To Blob .
Ich wniosek po wielu testach wydajnościowych i analizach jest następujący:
jeśli twoje zdjęcia lub dokumenty mają zwykle rozmiar poniżej 256 KB, przechowywanie ich w kolumnie VARBINARY bazy danych jest bardziej wydajne
jeśli obrazy lub dokumenty mają zwykle rozmiar powyżej 1 MB, przechowywanie ich w systemie plików jest bardziej wydajne (a dzięki atrybutowi FILESTREAM programu SQL Server 2008 nadal znajdują się pod kontrolą transakcji i stanowią część bazy danych)
Pomiędzy tymi dwoma, w zależności od zastosowania, jest trochę podrzucenia
Jeśli zdecydujesz się umieścić swoje zdjęcia w tabeli SQL Server, zdecydowanie polecam użycie oddzielnej tabeli do przechowywania tych zdjęć - nie przechowuj zdjęcia pracownika w tabeli pracowników - trzymaj je w osobnej tabeli. W ten sposób tabela Pracownik może pozostać szczupła, wredna i bardzo wydajna, zakładając, że nie zawsze musisz wybierać również zdjęcie pracownika w ramach swoich zapytań.
W przypadku grup plików sprawdź pliki i architekturę grup plików, aby uzyskać wprowadzenie. Zasadniczo należy utworzyć bazę danych z oddzielną grupą plików dla dużych struktur danych od samego początku lub dodać dodatkową grupę plików później. Nazwijmy to „LARGE_DATA”.
Teraz, gdy masz nową tabelę do utworzenia, która musi przechowywać kolumny VARCHAR (MAX) lub VARBINARY (MAX), możesz określić tę grupę plików dla dużych danych:
CREATE TABLE dbo.YourTable
(....... define the fields here ......)
ON Data
TEXTIMAGE_ON LARGE_DATA
Zapoznaj się z wprowadzeniem MSDN dotyczącym grup plików i baw się nim!