Mysql/MariaDB ¿Cuál es el tamaño máximo para un campo de tipo varchar?
Definir la longitud máxima de un campo varchar
Un poco de contexto. Necesitaba almacenar una longitud de caracteres previsiblmente grande con lo cual podria optar por un campo de tipo text.
Un campo de este tipo, text, es poco eficiente en busquedas así que siempre es preferible configurar uno varchar porque ofrece ciertas ventajas, aparte del rendimiento permite su indexación.
La interrogante que surge es: ¿Cuál es el valor máximo que admite la longitud de un varchar?. Esto lo he descubierto de forma empírica. El resultado es 16383 pero con una particularidad.
No es la longitud máxima del campo, sino de la fila, esto es, el conjunto de campos.
Todos los campos definidos van restando espacio a los 16383 permitidos. Se ve más claro en las siguientes imágenes.
Probando longitud VARCHAR(16384)
Probando longitud VARCHAR(16383)
Probando longitud VARCHAR(16383) más campo flag VARCHAR(1)
Probando longitud VARCHAR(16381) más campo flag VARCHAR(1)
Aquí un apunte. Cuando probé, 16382 y 1 me dió error de Maximum row size
Autor: Eduardo A. F.
Publicado: 22-05-2022 13:29