![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 20 Pomógł: 0 Dołączył: 6.12.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam, otóż mam tabelę users z relacją do UserInfos (nazwa taka ze względu na konwencje frameworka w którym piszę)
users wygląda standardowo ma pole id,password,email,login - żadnych cudów. Problem zaczyna się w UserInfos wygląda to tak: id,user_id,name,value; ta tabela (UserInfos) przechowuje informacje o użytkownikach, np ich wiek, wzrost, numer buta. więc przykład user_id = 3, name = age value = 25 + drugie ustawienie dla tego uzytkownika user_id = 3, name = shoe.size value = 43 Jak najwydajniej zrobić tutaj wyszukiwarkę ludzi? Np ktoś będzie chciał znaleźć wszystkie osoby z wiekiem pomiędzy 20 a 25 i numerem buta 43. oczywiście możnaby wyszukiwać w ten sposób .... WHERE `name` = 'shoe.size' AND `value` = '43'. Tylko co jeżeli ktoś będzie chciał wyszukać po rozmiarze buta i wieku ? Zapytacie pewnie dlaczego nie zrobiłem w tabeli users pól "shoe_size", "age" itd itp? Bo tych ustawień w przyszłości pojawi się więcej, dużo więcej. Każdy z użytkowników będzie miał bardzo dużo preferencji i będzie można dodawać własne z poziomu strony www. Pozdrawiam i liczę na jakąkolwiek pomoc. Ten post edytował jareqpl 27.07.2012, 12:55:18 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 19:43 |