sql >> Databasteknik >  >> RDS >> Sqlserver

Bästa sättet att lagra Large String i SQL Server-databas?

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.




  1. Visa dag eller datum som kolumn i mysql

  2. Beräknar den totala mängden utrustning för ett datumintervall

  3. Förhindra dubbletter av SQL-poster

  4. MySQL Ta bort alla rader från tabellen och återställ ID till noll