In SQL Server 2008 hai la possibilità di utilizzare FILESTREAM
per memorizzare dati binari di grandi dimensioni. In questo caso, i dati saranno disponibili nelle query, ma archiviati fisicamente nel filesystem.
Microsoft ha pubblicato un Articolo tecnico su SQL Server
che contiene informazioni utili su come e quando utilizzare FILESTREAM
. Nell'ottava pagina, il grafico di confronto mostra che FILESTREAM ha un vantaggio su BLOB archiviati nel database se i dati archiviati sono maggiori di 1 MB .
NOTA FILESTREAM non è disponibile in SQL Server 2005! (E SQL Server 2005 non è più supportato da Microsoft - salvo il supporto esteso)
Alcuni articoli da leggere
Puoi vedere alcuni grafici di confronto su blog SQLSkills sulle sue prestazioni.
Anche Microsoft Research ha pubblicato un Articolo tecnico:To BLOB or Not To BLOB su filestream e BLOBS.
Puoi fare un tentativo, ma come sempre, devi eseguire alcuni test specifici dell'ambiente per essere sicuro che questa soluzione funzioni o meno. Se si tratta di un prodotto sul mercato, è una buona idea implementare il supporto FILESTREAM come funzionalità di attivazione o disattivazione.
Solo una nota a margine
NVARCHAR
è due volte più grande di VARBINARY
perché SQL Server archivia ogni carattere su 2 byte nell'unicode (NCHAR
, NVARCHAR
, ecc.) colonne.