No es correcto en algunos tipos de datos.
DATETIME/TIMESTAMP
TIMESTAMP
y DATETIME
son similares, sin embargo TIMESTAMP utiliza sólo la mitad del espacio de almacenamiento cuando se compara con DATETIME
. Sin embargo, existen desventajas notables al usar TIMESTAMP
, por lo que debe consultar los documentos oficiales para ver cuál necesita. Pero la mayor parte de la DATETIME
sería la mejor opción.
Usted no tiene que preocuparse acerca de las longitudes FIX/variables para este tipo de datos
NÚMEROS
Usted es capaz de almacenar número entero mediante el establecimiento de un decir, longitud int(20)
pero en términos de almacenamiento que no tiene diferencia y por lo tanto no tiene significado.
TINYINT SMALL INT MEDIUMINT BIGINT
Estos tipos de datos requieren 8, 16, 24, 32, y 64 bits de espacio de almacenamiento, respectivamente. Cada uno de ellos tiene diferentes valores máximos y mínimos. Si está seguro de que sus valores no superarán un cierto número, debe elegir el tipo de datos int más pequeño para ahorrar espacio y mejorar el rendimiento. Debe consultar los documentos oficiales para obtener más información sobre las figuras.
FLOAT
y DOUBLE
son cálculos aproximados y no es necesario especificar una precisión. Estableciendo una precisión e insertando un valor más allá de la especificación, su valor se redondeará a la especificación. Nuevamente vea los documentos oficiales para esto.
VARCHAR
VARCHAR
, como se espera es de longitud variable, pero tenga en cuenta, no especifique algo así como VARCHAR(100)
cuando sólo necesita 5 caracteres, ya que si bien la longitud es variable cuando se almacena en el disco , toma la longitud que especifique cuando trabaja con RAM, por lo que perderá memoria preciosa.
BLOB y TEXT
BLOB
y TEXT
se almacenan de forma especialmente, en función del motor de almacenamiento que utilice. Por lo general, se almacenan en un área "externa". Debe evitar usar esto a menos que la cadena sea MUY de largo. Este tipo de datos no puede indexar la longitud completa y tampoco es compatible con la memoria, por lo que no es utilizada por la memoria del sistema. Cuando lo solicite, se creará una tabla temporal en el disco con el motor de almacenamiento MyISAM y esto causaría una gran degradación del rendimiento.
ENUM
Esto es muy compacto y que establece los valores específicos de un campo cuando se crea una tabla. Las cadenas son fijas y cambiar una columna ENUM
requiere un ALTER TABLE
, por lo que no tendrá que preocuparse por la longitud de la corrección/variable para esta.
EDIT:
he encontrado una página en los documentos oficiales que responde a todas sus preguntas Data Type Storage Requirements
... esta es una pregunta muy amplia –
Actualización para una mejor comprensión de mis preguntas. En realidad, solo quiero saber si lo que sé sobre los tipos de datos de longitud fija es correcto o no. Y TIMESTAMP, ENUM son tipos de datos de longitud fija o de longitud variable? (2 preguntas en total) –
Las marcas de tiempo y las enumeraciones son tipos de longitud fija. – Karolis