• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Parametry produktów - Json czy Tabele MySQL

Aruba Cloud VPS - 50% taniej przez 3 miesiące!
+1 głos
711 wizyt
pytanie zadane 3 kwietnia 2021 w SQL, bazy danych przez Renzov Obywatel (1,220 p.)
Dobry wieczór wszystkim,

W ramach ćwiczeń mam zamiar zrobić sobie prostego klona Allegro. Podczas planowania napotkałem pewien drobny problem.

W projekcie będzie możliwość filtrowania produktów. Każda kategoria będzie posiadać filtry odpowiednie do niej (W sensie w kategorii telefony można filtrować pamięcią, kolorami, modelem etc. W zakładce samochody, proponowane filtry to będą np. ilość koni, czy auto powypadkowe etc).

I tutaj moje pytanie. Jak "zaprojektować" filtry?

Pierwszym moim pomysłem jest stworzenie 3 tabel.

- Pierwsza tabela zawiera nazwę kategorii [Name]

- Druga tabela będzie zawierać nazwę parametru, id kategorii [name] [category_id]

- Trzecia tabela będzie zawierać id parametru, wartość oraz id produktu do którego jest przypisany

Nie wiem tylko jak by było z wydajnością (Pytanie czysto teoretyczne). Jeśli dajmy na to mam 20 000 000 produktów, każdy posiada 50 parametrów, daje to już 10 00 000 000 rekordów w bazie

Drugim zamysłem jest użycie Firebase'a i baza w formie drzewka

2 odpowiedzi

+1 głos
odpowiedź 3 kwietnia 2021 przez SzkolnyAdmin Szeryf (89,030 p.)
Ale dlaczego przy 20 tys.produktów z 50 parametrami każdy masz mieć 10 mln rekordów? Relacyjna baza tak nie działa. Po to są relacje,abyś właśnie nie miał 10 mln rekordów.
komentarz 3 kwietnia 2021 przez Renzov Obywatel (1,220 p.)
Nie wiem czy dobrze wytłumaczyłem, ale chodziło mi o to, że każdy parametr to nowy record w bazie danych.

- Id productu

- Id parametru

- Wlaściwośc

Gdy jakiś obiekt ma 50 paremtrów jak np. kolor, pamięć, etc daje to już 50 recordów w bazie danych. 1 000 produktów, to już 50 000 recordów
2
komentarz 3 kwietnia 2021 przez SzkolnyAdmin Szeryf (89,030 p.)
A nie będą się one powtarzać? Nie lepiej do produktu przypisać parametry z tabeli słownikowej? W ten sposób masz 1 produkt = 1 rekord.
+1 głos
odpowiedź 4 kwietnia 2021 przez mordimer Mądrala (5,720 p.)
Ratują cie tu indexy, partycje albo elastic search ... I raczej nie da sie inaczej bo jak dobrze rozumiem tu nie chodzi o to zeby tylko przechowywac jakos te dane jak najmniejszym kosztem tylko również wyszukiwać wydajnie po tych paramtetrach. A tak z ciekawości szkolnyadmin czym jest dla ciebie ta tabela słownikowa i jak ona by miala wygladac ? Chcialbys laczyc kategorie z parametrami w jakims indexie fulltextowym ?

Podobne pytania

0 głosów
0 odpowiedzi 2,087 wizyt
pytanie zadane 15 lipca 2018 w SQL, bazy danych przez voltex Obywatel (1,210 p.)
0 głosów
1 odpowiedź 231 wizyt
pytanie zadane 25 marca 2016 w SQL, bazy danych przez CzlowiekSkrypt Nałogowiec (26,340 p.)
0 głosów
0 odpowiedzi 207 wizyt
pytanie zadane 23 czerwca 2023 w SQL, bazy danych przez roger10 Nowicjusz (180 p.)

93,187 zapytań

142,203 odpowiedzi

322,017 komentarzy

62,513 pasjonatów

Advent of Code 2024

Top 15 użytkowników

  1. 2365p. - dia-Chann
  2. 2326p. - Łukasz Piwowar
  3. 2315p. - Łukasz Eckert
  4. 2301p. - CC PL
  5. 2269p. - Tomasz Bielak
  6. 2235p. - Łukasz Siedlecki
  7. 2232p. - rucin93
  8. 2169p. - Marcin Putra
  9. 2164p. - Adrian Wieprzkowicz
  10. 2006p. - Michal Drewniak
  11. 1901p. - Mikbac
  12. 1806p. - Dawid128
  13. 1744p. - rafalszastok
  14. 1734p. - Anonim 3619784
  15. 1487p. - Michał Telesz
Szczegóły i pełne wyniki

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Wprowadzenie do ITsec, tom 1 Wprowadzenie do ITsec, tom 2

Można już zamawiać dwa tomy książek o ITsec pt. "Wprowadzenie do bezpieczeństwa IT" - mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy aż 15% zniżki! Dziękujemy ekipie Sekuraka za fajny rabat dla naszej Społeczności!

...