Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Beste Möglichkeit, große Zeichenfolgen in der SQL Server-Datenbank zu speichern?

In SQL Server 2008 haben Sie die Möglichkeit, zu verwenden FILESTREAM um große binäre Daten zu speichern. In diesem Fall sind die Daten in Abfragen verfügbar, aber physisch im Dateisystem gespeichert.

Microsoft hat einen Technischen Artikel zu SQL Server veröffentlicht die nützliche Informationen darüber enthält, wie und wann FILESTREAM zu verwenden ist . Auf der 8. Seite zeigt die Vergleichstabelle, dass der FILESTREAM im Vorteil ist über in der Datenbank gespeicherte BLOBs, wenn die gespeicherten Daten größer als 1 MB sind .

HINWEIS FILESTREAM ist in SQL Server 2005 nicht verfügbar! (Und SQL Server 2005 ist Nr nicht länger von Microsoft unterstützt - außer dem erweiterten Support)

Weitere Artikel zum Lesen

Einige Vergleichsdiagramme finden Sie im SQLSkills-Blog über seine Leistung.

Außerdem hat Microsoft Research einen Technical Article:To BLOB or Not To BLOB über Filestreams und BLOBS.

Sie können es versuchen, aber wie immer müssen Sie einige umgebungsspezifische Tests durchführen, um sicherzustellen, dass diese Lösung funktioniert oder nicht. Wenn es sich um ein Produkt auf dem Markt handelt, ist es eine gute Idee, die FILESTREAM-Unterstützung als Opt-in- oder Opt-out-Funktion zu implementieren.

Nur eine Randbemerkung

NVARCHAR ist doppelt so groß wie VARBINARY da SQL Server jedes Zeichen auf 2 Bytes im Unicode speichert (NCHAR , NVARCHAR , usw.) Spalten.