Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL] Właściwości produktów, Jak zapisać różnorodne właściwości różnych produktów
xcreative
post 24.04.2011, 14:28:49
Post #1





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 6.04.2011

Ostrzeżenie: (0%)
-----


Witam,

Czy wie ktoś w jaki optymalny sposób stworzyć bazę produktów zawierającą różnorodne właściwości? Tzn. Tak jak w e-bay czy allegro komputer ma właściwości typu procesor, dysk itd a np kurtka ma rozmiar czy kolor. Jak zapisać te dane w optymalny sposób tak by było to najmniej skomplikowane i optymalne wydajnościowo. Czy dobrym pomysłem jest rozbijanie to na tabele produktów kategorii np products_pc, products_furniture, products_clothes itd? Czy też istnieje jakiś sposób zrobienia dynamicznej tablicy. Proszę wziąć pod uwagę szybkość i skomplikowanie wyszukiwania.

Pozdrawiam


--------------------
Go to the top of the page
+Quote Post
Crozin
post 24.04.2011, 14:33:41
Post #2





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Google: EAV (Entity-Attribute-Value).
Go to the top of the page
+Quote Post
xcreative
post 24.04.2011, 15:19:21
Post #3





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 6.04.2011

Ostrzeżenie: (0%)
-----


Cytat(Crozin @ 24.04.2011, 15:33:41 ) *
Google: EAV (Entity-Attribute-Value).


Fajne rozwiązanie, ale dość słabe wydajnościowo. Tak pokminiłem i chyba bym zrobił to tak że do każdej kategorii tworzona byłaby oddzielna tabela products_details_[cat]. Ale ni cholery mi się nie uśmiecha tworzenie takiej liczby tabel (około 2000) nawet algorytmem. A może widoki? Gdyby stworzyć 20 atrybutów o z góry ustalonych typach ale nie mające większego sensu(puste) i przy wyszukiwaniu korzystać z widoku który by przypisywał każdemu z tych pól ustalony sens. Ale to też powoduje lekkie marnotrawienie przestrzeni, chociaż przynajmniej zapytania w porównaniu z EAV byłyby mniej skomplikowane. Co o tym sądzicie?


--------------------
Go to the top of the page
+Quote Post
wookieb
post 24.04.2011, 15:22:47
Post #4





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Wszystkie atrybuty trzymasz w jednej tabeli. Przy odpowiednim zalożeniu indeksów nie powinno być problemów z wyszukiwaniem (tym bardziej, że zakładam iż produków nie będziesz mieć w milionach)


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 25.04.2024 - 10:52