nvarchar(máximo) frente a NText
¿Cuáles son las ventajas y desventajas de utilizar tipos de datos nvarchar(max)
versus NText
tipos de datos en SQL Server? No necesito compatibilidad con versiones anteriores, por lo que está bien que nvarchar(max)
no sea compatible con versiones anteriores de SQL Server.
Editar: Aparentemente, la pregunta también se aplica a TEXT
and IMAGE
vs. varchar(max)
and varbinary(max)
, para aquellos que buscan esos tipos de datos más adelante.
Las ventajas son que puedes usar funciones como LEN
y LEFT
on nvarchar(max)
y no puedes hacerlo contra ntext
y text
. También es más fácil trabajar con él nvarchar(max)
que text
donde tenías que usarlo WRITETEXT
yUPDATETEXT
.
Además, text
, ntext
etc. están en desuso ( http://msdn.microsoft.com/en-us/library/ms187993.aspx ).
ntext
siempre almacenará sus datos en una página de base de datos separada, mientras que nvarchar(max)
intentará almacenar los datos dentro del registro de la base de datos.
Por lo tanto nvarchar(max)
, es algo más rápido (si tiene un texto de menos de 8 kB). También noté que el tamaño de la base de datos crecerá un poco más lento, esto también es bueno.
Ir nvarchar(max)
.
VARCHAR(MAX)
Es lo suficientemente grande como para acomodar TEXT
el campo. TEXT
y NTEXT
los IMAGE
tipos de datos de SQL Server 2000 quedarán obsoletos en versiones futuras de SQL Server. SQL Server 2005 proporciona compatibilidad con versiones anteriores de los tipos de datos, pero se recomienda utilizar nuevos tipos de datos que son VARCHAR(MAX)
, NVARCHAR(MAX)
y VARBINARY(MAX)
.