Przeglądałem zrzuty SQL niektórych znanych CMSów, w tym Drupala 7, Wordpressa (niektóre bardzo stare wersje) i niektórych niestandardowych aplikacji opartych na Pythonie.
Wszystkie te zrzuty zawierały dane z flagami ciągów zamiast liczb całkowitych. Na przykład, status post został przedstawiony jako published
, closed
albo inherit
zamiast 1
, 2
albo 3
.
Mam dość ograniczone doświadczenie w projektowaniu baz danych i nigdy nie omijałem prostych SQL-ów, ale zawsze uczono mnie, że powinienem używać flag numerycznych / całkowitych dla takich danych. Oczywiste jest, że tinyint
zużywa znacznie mniej miejsca w bazie danych niż na przykład varchar(9)
.
Więc czego mi brakuje? Czy nie jest to strata pamięci i nadmiarowość danych? Czy przeglądanie, wyszukiwanie i indeksowanie nie byłoby trochę szybsze, gdyby w tych kolumnach zastosowano liczby całkowite zamiast ciągów?
char
s? Jak mało wydajna!” jest przestarzały w porównaniu do 2015 r.