He declarado una columna de tipo NVARCHAR(MAX)
en SQL Server 2008, ¿cuáles serían sus caracteres máximos exactos que tienen el MAX como longitud?
He declarado una columna de tipo NVARCHAR(MAX)
en SQL Server 2008, ¿cuáles serían sus caracteres máximos exactos que tienen el MAX como longitud?
Respuestas:
El tamaño máximo para una columna de tipo NVARCHAR(MAX)
es de 2 GByte de almacenamiento.
Como NVARCHAR
usa 2 bytes por carácter, eso es aprox. Mil millones de caracteres.
Guerra y paz de Leo Tolstoj es un libro de 1'440 páginas, que contiene alrededor de 600'000 palabras, por lo que podrían ser 6 millones de caracteres, bien redondeado. Para que puedas pegar alrededor de 166 copias de todo el libro de Guerra y Paz en cada NVARCHAR(MAX)
columna.
¿Es suficiente espacio para tus necesidades? :-)
Por defecto, los valores de nvarchar (MAX) se almacenan exactamente igual que los valores de nvarchar (4000), a menos que la longitud real supere los 4000 caracteres; en ese caso, los datos en fila se reemplazan por un puntero a una o más páginas separadas donde se almacenan los datos.
Si anticipa datos que posiblemente superen los 4000 caracteres, nvarchar (MAX) es definitivamente la opción recomendada.
De la documentación de MSDN
nvarchar [(n | max )]
Datos de cadena Unicode de longitud variable. n define la longitud de la cadena y puede ser un valor de 1 a 4,000. max indica que el tamaño máximo de almacenamiento es 2 ^ 31-1 bytes (2 GB). El tamaño de almacenamiento, en bytes, es dos veces la longitud real de los datos ingresados + 2 bytes
Creo que en realidad nvarchar(MAX)
puede almacenar aproximadamente 1070000000 caracteres.