I SQL Server 2008 har du möjlighet att använda FILESTREAM
att lagra stora binära data. I det här fallet kommer data att vara tillgänglig i frågor, men lagras fysiskt i filsystemet.
Microsoft publicerade en SQL Server teknisk artikel
som innehåller användbar information om hur och när FILESTREAM
ska användas . På den åttonde sidan visar jämförelsediagrammet att FILESTREAM har fördelar över BLOB lagrade i databasen om lagrad data är större än 1 MB .
OBS FILESTREAM är inte tillgängligt i SQL Server 2005! (Och SQL Server 2005 är ingen längre stöds av Microsoft - förutom det utökade stödet)
Några fler artiklar att läsa
Du kan se några jämförelsediagram på SQLSkills-bloggen om dess prestanda.
Microsoft Research publicerade även en Teknisk artikel:Att BLOBBA eller inte BLOBBA om filströmmar och BLOBS.
Du kan ge det ett försök, men som alltid måste du köra något miljöspecifikt test för att vara säker på att den här lösningen fungerar eller inte. Om detta är en produkt på marknaden är det en bra idé att implementera FILESTREAM-stödet som en opt-in- eller opt-out-funktion.
Bara en sidoanteckning
NVARCHAR
är dubbelt så stor än VARBINARY
eftersom SQL Server lagrar varje tecken på 2 byte i unicoden (NCHAR
, NVARCHAR
, etc) kolumner.