Ich habe SQL-Dumps einiger berühmter CMSs durchsucht, darunter Drupal 7, Wordpress (eine recht alte Version) und eine benutzerdefinierte Anwendung, die auf Python basiert.
Alle diese Speicherauszüge enthielten Daten mit Zeichenfolgenflags anstelle von ganzzahligen. Zum Beispiel des Status eines Posts wurde wie folgt dargestellt published
, closed
oder inherit
nicht 1
, 2
oder 3
.
Ich habe nur begrenzte Erfahrung mit dem Entwurf von Datenbanken und bin nie an einfachen SQL-Anweisungen vorbeigekommen. Mir wurde jedoch immer beigebracht, dass ich für solche Daten numerische / ganzzahlige Flags verwenden sollte. Es ist offensichtlich, dass tinyint
in einer Datenbank viel weniger Speicherplatz verbraucht wird als zum Beispiel varchar(9)
.
Was vermisse ich also? Ist das nicht eine Verschwendung von Datenspeicher und Datenredundanz? Wäre das Durchsuchen, Suchen und Indizieren nicht ein bisschen schneller, wenn diese Spalten Ganzzahlen anstelle von Zeichenfolgen verwenden würden?
char
s? Wie ineffizient!" ist veraltet im Vergleich zu 2015.