Duplicar posible:
is there an advantage to varchar(500) over varchar(8000)?Diferencia entre varchar (5) y varchar (5000)?
En SQL Server podemos especificar el tipo de campo varchar(n)
:
tamaño de almacenamiento es la longitud real en bytes de los datos introducidos, no n bytes.
A menudo la hora de planificar una estructura de base de datos trato de imaginar la longitud máxima posible de cadenas que se van a almacenar en estos campos y varchar
continuación, establezca que el tamaño imaginado + refuerzos para el campo varchar
. A veces puede ocurrir que la habitación provista inicialmente no sea suficiente para el campo y luego necesito aumentar la longitud.
Pero en realidad, ¿merece la pena limitar el campo varchar
a algún valor y no sólo establecer algo así como varchar(5000)
o incluso varchar(max)
que será 100% traje el caso? ¿Hay alguna ventaja en la organización de la página en SQL Server u organización del índice cuando limito esa longitud n
?
actualización
Aquí es lo que quiero decir (la ventaja): https://stackoverflow.com/a/5353196/355264
Sí, el optimizador de consultas puede adivinar cuántas filas caben en una página, si tiene una gran cantidad de Los campos varchar que son más grandes que los necesarios, SQL El servidor puede adivinar internamente el número incorrecto de filas.
¿Es verdadero el anterior? ¿Y hay otras ventajas?
posible duplicado de [¿hay una ventaja para varchar (500) sobre varchar (8000)?] (http://stackoverflow.com/questions/2009694/is-there-an-advantage-to -varchar500-over-varchar8000) o de [varchar (ma x) en todas partes?] (http://stackoverflow.com/questions/2091284/varcharmax-everywhere) o de [SQL Server VARCHAR Column Width] (http://dba.stackexchange.com/questions/11614/sql-server- varchar-column-width) –
RE: Su edición. Ver [mi respuesta aquí] (http://stackoverflow.com/questions/2009694/is-there-an-advantage-to-varchar500-over-varchar8000/5654947#5654947) –