En SQL Server 2008 tiene la opción de usar FILESTREAM
para almacenar grandes datos binarios. En este caso, los datos estarán disponibles en consultas, pero almacenados físicamente en el sistema de archivos.
Microsoft publicó un artículo técnico de SQL Server
que contiene información útil sobre cómo y cuándo usar FILESTREAM
. En la octava página, el cuadro de comparación muestra que FILESTREAM tiene ventaja sobre BLOB almacenados en la base de datos si los datos almacenados tienen más de 1 MB .
NOTA ¡FILESTREAM no está disponible en SQL Server 2005! (Y SQL Server 2005 no es ya no es compatible con Microsoft - excepto el soporte extendido)
Algunos artículos más para leer
Puede ver algunos gráficos de comparación en blog de SQLSkills sobre su rendimiento.
También Microsoft Research publicó un Artículo técnico:To BLOB or Not To BLOB sobre secuencias de archivos y BLOBS.
Puede intentarlo, pero como siempre, debe ejecutar alguna prueba específica del entorno para asegurarse de que esta solución funcione o no. Si este es un producto en el mercado, es una buena idea implementar la compatibilidad con FILESTREAM como una función de aceptación o exclusión.
Solo una nota al margen
NVARCHAR
es el doble de grande que VARBINARY
porque SQL Server almacena cada carácter en 2 bytes en Unicode (NCHAR
, NVARCHAR
, etc.) columnas.