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
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.