Estoy trabajando con una base de datos SQL en este momento, y esto siempre me ha dado curiosidad, pero las búsquedas de Google no aparecen mucho: ¿por qué los tipos de datos estrictos?
Entiendo por qué tendría algunos tipos de datos diferentes, por ejemplo, cómo es importante diferenciar entre datos binarios y de texto sin formato . En lugar de almacenar los 1 y 0 de los datos binarios como texto sin formato, ahora entiendo que es más eficiente almacenar los datos binarios en su propio formato.
Pero lo que no entiendo es cuál es el beneficio de tener tantos tipos de datos diferentes:
- ¿Por qué
mediumtext
,longtext
ytext
? - ¿Por qué
decimal
,float
yint
? - etc.
¿Cuál es el beneficio de decirle a la base de datos "Solo habrá 256 bytes de datos de texto sin formato en las entradas de esta columna". o "Esta columna puede tener entradas de texto de hasta 16.777.215 bytes"?
¿Es un beneficio de rendimiento? Si es así, ¿por qué conocer el tamaño de la entrada de antemano ayuda al rendimiento? ¿O más bien es algo completamente diferente?
decimal
, float
y int
tipos, ¿qué esperaría 1 / 3
hacer? ¿Qué hay de 1.0 / 3.0
? ¿Podría estar seguro de que cuando divide columnA
por columnB
eso obtendrá los resultados que espera?