Skocz do zawartości

Wybór struktury tabel


T800

Rekomendowane odpowiedzi

Witam

Mam następujący problem z bazą danych na mojej stronie. Przedstawie krótko sytuację:

1. Strona docelowo będzie zawierać ok 700 produktów.

2. Każdy produkt będzie podlegać ocenie przez uzytkowników.

3. Wszyscy użytkownicy, którzy wyświetlą dany produkt będą widzieć jego oceny

Uzytkownicy zapisani są w jednej tabeli (id_uzyt, login, hasło)

Teraz dylemat :)

Czy na każdy z 700 produktów tworzyć osobną tabelę (id_uzyt, ocena 1).

Do szukania będzie np. select * from tabela345

Czy może zrobić jedną tabelę zawierającą wszystkie oceny wszystkich produktów (id_uzyt, id_prod, ocena).

Do szukania będzie select * from tabela_glowna where id_prod =xxx

Dużo wygodniejszy jest dla mnie sposób 2, ale martwię, że wtedy wraz z przyrostem liczby ocen znacznie spadnie szybkość ich wyszukiwania, bo zapytania będą składane do coraz większej tabeli.

Proszę o radę, który wariant lepiej wybrać z punktu widzenia wydajnośći

Pozdrawiam

Odnośnik do komentarza
Udostępnij na innych stronach

Albo tu czegoś nie rozumiem albo nie ma się nad czym zastanawiać i wybrać wariant drugi tylko zakładać odpowiednie indeksy i wszystko będzie chodzić bardzo wydajnie. Pierwszy wariant jest mocno przekombinowany, chciałbyś mieć 700 tabel w których zapisane były tylko oceny? Przy każdym dodaniu nowego produktu tworzyłaby się kolejna tabela? Nie sądzę by było to wydajne, a na pewno będzie to bardzo nie wygodne.

Odnośnik do komentarza
Udostępnij na innych stronach

Musisz sobie indeksy pozakładać na user_id i na id_prod i wszystko będzie hulać bez problemu, możesz też sumować ocenę w jednym z pul produktu, tak by za każdym razem nie sumować jej z tabeli ocen, gdy będziesz wyciągał dane do prezentacji.

Odnośnik do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę. Warunki użytkowania Polityka prywatności