Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Łączenie tabel a wydajność
alamik
post
Post #1





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

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


Witam, mam takie pytanie:
Czy lepiej posiadać jedną dużą tabelę, gdzie część danych się powtarza, czy zrobić z tego dwie tabele i w zapytaniach używać joina?
Generalnie wszędzie zaleca się stosowanie 3 postaci normalnej, aby wykluczyć anomalie i zmniejszyć objętność, ale mnie chodzi o samą wydajność takiego zapytania. Spotkałem się z opiniami, że łączenie tabel ma negatywny wpływ na wydajność

Pozdrawiam
Go to the top of the page
+Quote Post
wookieb
post
Post #2





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




Po pierwsze nie mów o opiniach i ni pytaj się o porady jak nie podasz struktury tabeli i trochę przykładowych danych. Dodatkowo warto by było podać ile masz rekordów w twojej tabeli.


--------------------
Go to the top of the page
+Quote Post
alamik
post
Post #3





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

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


Ok, chodzi o mniej więcej coś takiego. Użytkownicy mogą oddawać głosy na różne produkty

USERS:
user_id
cecha_usera1
cecha_usera2

PRODUCTS
product_id
user_id
ocena //tutaj wstawia się wartość 1 - 10 zgodnie z oddanym głosem
cecha_usera1
cecha_usera2

Potem uzytkownicy mogą przeglądać oceny danego produktu pogrupowane wg cech użytkowniów
select cecha_usera1, cecha_usera2, sum (ocena)/count(*) from PRODUCTS group by cecha_usera1, cecha_usera2
Go to the top of the page
+Quote Post
wookieb
post
Post #4





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




Nie widzę tutaj Joina, nie rozumiem tych cech. Co jest w tym trzymane?


--------------------
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 Aktualny czas: 20.08.2025 - 13:00