![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 28.11.2011 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
pisze własnego CMS-a i wzorując się na struktrurach baz danych innych dużych projektów mam dylemat w jaki sposób przechowywać wartości ustawień TAK/NIE. W phpBB3 przechowywane jest to jako TINYINT(1) UNSIGNED o wartościach 1/0, a np. w WordPress używane są opisy słowne trzymane w komórkach VARCHAR(20) o wartościach np.: "open"/"closed"/"publish". Inny system używa pól VARCHAR(3) lub ENUM i przechowuje wartości "YES"/"NO". Nie bardzo rozumiem sens używania pól varchar w takiej sytuacji, które powodują zwiększenie rozmiaru bazy danych, a i porówywanie takich wartości trwa dłużej. Macie jakieś argumenty na stosowanie opisów tekstowych czy to tylko takie widzimisie twórców poprawiające czytelność warunków w kodzie? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
1. Różnice w wielkości danych czy czasie porównania są pomijalnie małe w większości przypadków.
2. Powinieneś stosować typ BOOLEAN (będący notabene aliasem dla TINYINT(1)) chociażby w celu zwiększenia przejrzystości kodu. 3. Powinieneś korzystać z literałów TRUE oraz FALSE odnosząc się do wartości kolumny. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 11.10.2025 - 16:07 |