sql >> Database >  >> RDS >> Sqlserver

De beste manier om Large String op te slaan in de SQL Server-database?

In SQL Server 2008 heb je de mogelijkheid om te gebruiken FILESTREAM om grote binaire gegevens op te slaan. In dit geval zijn de gegevens beschikbaar in query's, maar fysiek opgeslagen op het bestandssysteem.

Microsoft heeft een Technisch artikel over SQL Server gepubliceerd die nuttige informatie bevat over hoe en wanneer FILESTREAM te gebruiken . Op de 8e pagina laat de vergelijkingstabel zien dat de FILESTREAM voordeel heeft over BLOB's opgeslagen in database als de opgeslagen gegevens groter zijn dan 1 MB .

OPMERKING FILESTREAM is niet beschikbaar in SQL Server 2005! (En SQL Server 2005 is geen langer ondersteund door Microsoft - behalve de uitgebreide ondersteuning)

Nog wat artikelen om te lezen

U kunt enkele vergelijkingsgrafieken bekijken op SQLSkills-blog over zijn prestaties.

Ook publiceerde Microsoft Research een Technisch artikel:To BLOB or Not To BLOB over bestandsstreams en BLOBS.

Je kunt het proberen, maar zoals altijd moet je een omgevingsspecifieke test uitvoeren om er zeker van te zijn dat deze oplossing werkt of niet. Als dit een product op de markt is, is het een goed idee om de FILESTREAM-ondersteuning te implementeren als een opt-in of opt-out-functie.

Gewoon een kanttekening

NVARCHAR is twee keer zo groot dan VARBINARY omdat SQL Server elk teken op 2 bytes opslaat in de unicode (NCHAR , NVARCHAR , enz.) kolommen.




  1. MySQL-query met 'in'-operator:waarom verschillende resultaten met aanhalingstekens?

  2. Gebruik SQL Server-tijdgegevenstype in C#.NET-toepassing?

  3. Vind nieuwe records voor elk van de afgelopen n maanden in PostgreSQL

  4. MySQL SELECT-functie om huidige gegevens op te tellen