sql >> Base de Datos >  >> RDS >> Sqlserver

¿La mejor manera de almacenar cadenas grandes en la base de datos de SQL Server?

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.