He estado examinando los volcados de SQL de algunos CMS famosos, incluidos Drupal 7, Wordpress (una versión bastante antigua) y algunas aplicaciones personalizadas basadas en Python.
Todos estos volcados contenían datos con indicadores de cadena en lugar de enteros. Por ejemplo, el estado de un mensaje se representa como published
, closed
o inherit
en lugar de 1
, 2
o 3
.
Tengo una experiencia bastante limitada en el diseño de bases de datos y nunca he pasado de SQL simples, pero siempre me enseñaron que debería usar indicadores numéricos / enteros para datos como este. Es obvio que tinyint
consume mucho menos espacio en una base de datos que, por ejemplo varchar(9)
,.
Entonces, ¿qué me estoy perdiendo? ¿No es esto un desperdicio de almacenamiento de datos y una redundancia de datos? ¿No sería un poco más rápido navegar, buscar e indexar si estas columnas usaran números enteros en lugar de cadenas?
char
s? ¡Qué ineficiente!" está desactualizado en comparación con 2015.