![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 28 Pomógł: 0 Dołączył: 29.07.2009 Ostrzeżenie: (0%) ![]() ![]() |
Mam sobie takie zapytanie
i mniej więcej taka strukturę: (IMG:http://brylant.ists.pwr.wroc.pl/~pablo/bd/class_diag0.jpg) gdzie z lewej jest 1 a z prawej * (1..*) Jak rozbudować to zapytanie, żeby w wyniku otrzymać prawidłowe COUNT(siteWords.wordId) i jednocześnie dbając o wydajność. Jakieś podpowiedzi? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 855 Pomógł: 145 Dołączył: 17.07.2008 Skąd: High Memory Area Ostrzeżenie: (0%) ![]() ![]() |
Tak może (ale nie musi - sprawdź) być trochę lepiej:
Kod SELECT userData.userId, sq.cnt FROM userData LEFT JOIN ( SELECT userId, COUNT(*) AS cnt FROM user2site GROUP BY userId ) AS sq USNIG(userId) WHERE ... Poza tym sprawdź EXPLAINem obie wersje, czy korzystają z indeksów. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 3.10.2025 - 09:23 |