¿Por qué tantos desarrolladores configuran varchar a 254 y no 255 al crear tablas MySQL?MySQL: ¿por qué varchar (254) y no varchar (255)?
La prueba de que esto sucede: mysql varchar 254
¿Por qué tantos desarrolladores configuran varchar a 254 y no 255 al crear tablas MySQL?MySQL: ¿por qué varchar (254) y no varchar (255)?
La prueba de que esto sucede: mysql varchar 254
campos varchar requieren n + 1 bytes para los campos de menos de o igual a 255 y requieren n + 2 bytes para los campos de> 255
http://dev.mysql.com/doc/refman/5.0/en/storage-requirements.html
Se debe establecerse en 255, supongo que los desarrolladores piensan que guardarán un byte extra de 254, pero 255 es el estándar
Estoy de acuerdo, estoy diciendo que 255 es correcto, no 254. Realmente no importa demasiado ahora. Cuando salió la primera DB y el espacio en el disco duro era muy limitado, sería un gran problema. – Keith
Half-true: esto depende del motor de almacenamiento. Es cierto para MyIsam, no tanto para InnoDB, no se sabe de memoria para los otros motores. – Konerak
Su consulta de Google ya le dio las pistas. Uno de los primeros éxitos es la siguiente:
https://www.vbulletin.com/forum/project.php?issueid=32655
Básicamente dice, que FULLTEXT
índices en VARCHAR(255)
requieren el doble de espacio de un índice FULLTEXT VARCHAR(254)
. Y algo más de hinchazón además de eso.
Creo que esto es mucho más importante que guardar un byte en la tabla de datos.
gud respuesta, finalmente llegué a conocer su importancia, gracias por compartirlo. –
Recuerde que esto NO es motivo suficiente para usar 254 varchar en lugar de 255 varchar. Simplemente puede crear el índice para contener 254 caracteres en lugar de 255, de esta manera, su columna contiene todos los datos que necesita y su índice no se hincha. Además, este "error" realmente debería ser informado al equipo del servidor MySQL para que puedan investigar y corregir o explicar la confusión. Las capturas de pantalla de 'phpMyAdmin' en esa publicación de vbulletin no me dan mucha confianza ... – Konerak
@Konerak Por favor, siéntase libre de hacer algunos experimentos por su cuenta e informar los resultados. Sin embargo: incluso si este "comportamiento" (ya sea un error o no) hubiera sido arreglado, ahora el hábito de simplemente usar el límite 254 se mantendrá por un tiempo muy largo. La gente es así. –
¡Tal vez algunos tengan miedo de ir al límite! ¡Viviendo al límite! :) –
@Jason_vorhees: También he visto varchar (254) y me he preguntado cuál fue el proceso de toma de decisiones para eso. Lo escribo como "no hubo ninguno, es una mudez/negligencia arbitraria", pero estoy abierto a estar equivocado. Interesado en escuchar una respuesta a esto. – tenfour
No soy forma de esos desarrolladores –