J'ai parcouru les vidages SQL de certains CMS célèbres, y compris Drupal 7, Wordpress (une version assez ancienne) et des applications personnalisées basées sur Python.
Tous ces vidages contenaient des données avec des indicateurs de chaîne au lieu de nombres entiers. Par exemple, un statut de poste était représenté comme published
, closed
ou inherit
plutôt que 1
, 2
ou 3
.
J'ai une expérience assez limitée dans la conception de bases de données et je n'ai jamais dépassé les simples SQL, mais on m'a toujours enseigné que je devrais utiliser des drapeaux numériques / entiers pour des données comme celle-ci. Il est évident que tinyint
consomme beaucoup moins d'espace dans une base de données que, par exemple varchar(9)
,.
Alors qu'est-ce qui me manque? N'est-ce pas un gaspillage de stockage de données et une redondance de données? La navigation, la recherche et l'indexation ne seraient-elles pas un peu plus rapides si ces colonnes utilisaient des entiers au lieu de chaînes?
char
s? Quelle inefficacité!" est dépassé par rapport à 2015.