![]() |
![]() |
![]() ![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 57 Pomógł: 4 Dołączył: 6.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
mam problem z zaprojektowaniem tabeli product_details, którą chce wyświetlać przy prezentacji produktu. Ma zawierać product_id, cecha i wartosc np. (1, przekątna, 22 | 1, pobor mocy, 200) itp. Chciałem sie zapytać czy dobrze myślę jak to będzie wpływało na wydajność przypuśćmy ze przy dodawaniu produktu wpisze 20 cech, wtedy trzeba dodać 20 rekordów, pózniej żeby to wyświetlić muszę przeszukać tabele po ajdi produktu i wyświetlić to co znajdę, ale boję się ze jak będę miał 100-200 produktów w sklepie i do każdego 20 cech przeszukiwanie/dodawanie będzie trwało wieki czy się mylę ? Poza tym drugi problem to napisanie porównywania produktów po tych cechach wtedy dodatkowo musze przeszukiwać bazę żeby znalazła tylko powtarzające się cechy czy tak to po prostu wygląda w dużych aplikacjach czy są jakieś sposoby na to ? Ten post edytował grOm 18.04.2009, 01:30:12 -------------------- Zend Certified Engineer
|
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
1) Produkt: id, nazwa, ...
2) Cecha: id, nazwa, ... 3) Produkt_cecha: produkt_id, cecha_id, wartosc Ewentualnie możesz to zrobić nawet tak: 1) Produkt: id, nazwa, ... 2) Cecha: id, nazwa, ... 3) Wartosc: id, cecha_id, wartosc 4) Produkt_cecha: produkt_id, cecha_id, wartosc_id Kolejna relacja, a w przypadku gdy wartościami są opisy (ogólnie jakiś tekst) i dwa pewnej ilości produktów powtarzają się one może ot odciążyć bazę. W dodatku łatwiej jest pobrać wtedy wszystkie istniejące w sklepie wartości co napewno będzie przydatne przy tworzeniu wyszukiwarki po cechach. I przede wszystkim trzeba założyć poprawne indeksy. PS. Oczywiście można pomyśleć nad cache Ten post edytował Crozin 18.04.2009, 09:34:11 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 24.07.2025 - 20:38 |