longblob - Cuándo usar TEXT en mysql en lugar de VARCHAR
text mysql example (2)
Posible duplicado:
MySQL: ¿VARCHAR grande frente a TEXTO?
Dado que VARCHAR
puede tener 65k bytes ahora, ¿cuándo debería usarse TEXT
lugar de VARCHAR
?
El texto debe usarse para cadenas realmente largas de longitud indeterminada. Además, las consultas que devuelven campos TEXT tienden a ser mucho más lentas que sus contrapartes VARCHAR.
Un VARCHAR
largo se almacena de la misma manera que un campo TEXT
/ BLOB
en InnoDB
.
Desde el almacenamiento BLOB, TEXT y VARCHAR largo se manejan de la misma manera por Innodb. Es por esto que el manual de Innodb lo llama "columnas largas" en lugar de BLOB.
A menos que necesite indexar estas columnas (en cuyo caso VARCHAR
es mucho más rápido) no hay ninguna razón para usar VARCHAR
sobre TEXT
para campos largos; hay algunas optimizaciones específicas del motor en MySQL
para ajustar la recuperación de datos según la longitud, y debe usar el tipo de columna correcto para aprovechar estos.
En caso de que esté utilizando MyISAM
una discusión en profundidad sobre el tema.
TEXT
y BLOB
se almacenan fuera de la tabla con la tabla solo con un puntero a la ubicación del almacenamiento real.
VARCHAR
se almacena en línea con la tabla. VARCHAR
es más rápido cuando el tamaño es razonable.
Según esta prueba , VARCHAR
es aproximadamente tres veces más rápido que el texto.