sql >> Database teknologi >  >> RDS >> Sqlserver

Bedste måde at gemme stor streng i SQL Server-database?

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.




  1. psycopg2 og SQL-injektionssikkerhed

  2. mysql pivottabel dato (lodret til vandret data)

  3. Kan ikke hente data fra mysql-databasen til ListView i min Android-applikation

  4. Hvordan kan mysql indsætte millioner poster hurtigere?