Estive pesquisando lixões SQL de alguns CMSes famosos, incluindo Drupal 7, Wordpress (alguma versão muito antiga) e algum aplicativo personalizado baseado em Python.
Todos esses despejos continham dados com sinalizadores de seqüência de caracteres em vez de números inteiros. Por exemplo, o status de um posto foi representado como published, closedou inheritem vez de 1, 2ou 3.
Tenho uma experiência bastante limitada no design de bancos de dados e nunca passei por SQLs simples, mas sempre fui ensinado que deveria usar sinalizadores numéricos / inteiros para dados como esse. É óbvio que tinyintconsome muito menos espaço em um banco de dados do que, por exemplo varchar(9).
Então o que estou perdendo? Isso não é um desperdício de armazenamento de dados e uma redundância de dados? A navegação, a pesquisa e a indexação não seriam um pouco mais rápidas se essas colunas usassem números inteiros em vez de strings?
chars? Quão ineficiente!" está desatualizado em comparação com 2015.