Statusy w stringu czy w tabeli?

0

Robię sobie model który ma statusy. Statusy to mogą być new, edited, sexy, fearless, dead (not to scale). Normalnie pewnie zrobiłbym wiele do wielu, a potem przy filtrowaniu i wyszukiwaniu zrobił klucze obce. It is known.

Ale teraz pomyślałem, po co komplikować kod i bazę jeszcze bardziej, przecież mogę te statusy joinować po przecinku i tak je wsadzić do kolumny status. Filtrowanie mogę po prostu zrobić status LIKE '%sexy%'. Nie wydaje mi się żeby to było jakoś nie wiadomo jak wolniejsze niż join.

Co myślicie? spoko/nie spoko?

3

A nie możesz po prostu zrobić enuma?

0
axelbest napisał(a):

A nie możesz po prostu zrobić enuma?

Może ich być kilka lub 0.

5
TomRiddle napisał(a):
axelbest napisał(a):

A nie możesz po prostu zrobić enuma?

Może ich być kilka lub 0.

No ciągle poprawną odpowiedzią jest enum, poczytaj sobie o flagach bitowych.

0
TomRiddle napisał(a):

Nie wydaje mi się żeby to było jakoś nie wiadomo jak wolniejsze niż join.

Dopóki nie sprawdzisz, to się nie przekonasz.

0

wszystko ok z like dopóki nie pojawi się status np. news i wtedy cały misterny plan z like '%new%' bierze w łeb :p. Rozwiązaniem jest np. stały delimiter zarówno przed jak i po KAŻDYM statusie, czyli zapisujesz tak ;new;sexy; i szukasz like '%;new;%'.

BTW jeśli używasz jakiejś sprytniejszej bazy to może zamiast takich myków możesz zastosować np. pola tablicowe

0

Jeszcze lepiej zamiast string trzymać po prostu listę i tyle.

0
neves napisał(a):
TomRiddle napisał(a):
axelbest napisał(a):

A nie możesz po prostu zrobić enuma?

Może ich być kilka lub 0.

No ciągle poprawną odpowiedzią jest enum, poczytaj sobie o flagach bitowych.

set?

0

W zasadzie to po co sobie utrudniać życie i tylko dla statusu takie czary robić. Może władować wszystko w jednego stringa?
AttrX=Val1#AttrY=Val2#Status=X;Y;Z#CosTam=Foo

A tak na serio, to co jest istotą problemu i jak taki zlepek statusowy Ci go rozwiązuje?

1 użytkowników online, w tym zalogowanych: 0, gości: 1