I SQL Server 2008 har du mulighed for at bruge FILESTREAM
at gemme store binære data. I dette tilfælde vil dataene være tilgængelige i forespørgsler, men fysisk lagret på filsystemet.
Microsoft udgav en SQL Server teknisk artikel
som indeholder nyttig information om hvordan og hvornår FILESTREAM
skal bruges . På den 8. side viser sammenligningsdiagrammet, at FILESTREAM har fordele over BLOB'er gemt i databasen hvis de lagrede data er større end 1 MB .
BEMÆRK FILESTREAM er ikke tilgængelig i SQL Server 2005! (Og SQL Server 2005 er ingen længere understøttet af Microsoft - undtagen den udvidede support)
Nogle flere artikler at læse
Du kan se nogle sammenligningsdiagrammer på SQLSkills blog om dens ydeevne.
Microsoft Research udgav også en Teknisk artikel:To BLOB or Not To BLOB om filstreams og BLOBS.
Du kan prøve det, men som altid skal du køre en miljøspecifik test for at være sikker på, at denne løsning virker eller ej. Hvis dette er et produkt på markedet, er det en god idé at implementere FILESTREAM-supporten som en til- eller fravalgsfunktion.
Bare en sidebemærkning
NVARCHAR
er dobbelt så stor end VARBINARY
fordi SQL Server gemmer hvert tegn på 2 bytes i unicode (NCHAR
, NVARCHAR
osv.) kolonner.