![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 1 447 Pomógł: 191 Dołączył: 26.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
chyba można sie domyśleć co chcę osiągnąć, proszę o poprawne zapytanie -------------------- :)
|
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 107 Pomógł: 19 Dołączył: 30.10.2007 Ostrzeżenie: (0%) ![]() ![]() |
-------------------- "CSS is like a girlfriend. No matter how hard you try, she will always interpret it a different way."
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 1 447 Pomógł: 191 Dołączył: 26.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
hmm, jakoś wolno mi to działa
bez tych wszystkich zapytań czas generowania strony wynosi średnio 0.045s gdy dodam do skryptu to zapytanie - czas generowania wynosi około 0.8s wynik zapytania jest taki count_posts count_users count_topics 45003 11 5
gdy trochę uszczuplę to zapytanie do takiej postaci
to czas generowania strony wynosi 0.2s czyli sporo lepiej, jednak dlaczego i tak za dużo jak na tabele z 11 wierszami, czym to jest spowodowane ![]() edit:// zapytanie typu
(bez wyraźnej róznicy z której tabeli pobieram dane) "spowalnia" stronę do 0.055, czyli niewiele w porównaniu do tych powyższych wyników, moim zdaniem lepiej by było zrobić 3 osobne zapytania, skoro działają one znacznie szybciej, jednak ten fakt wydaje mi się dziwny nikt nie pomoże ? Ten post edytował peter13135 30.06.2009, 23:59:32 -------------------- :)
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 341 Pomógł: 40 Dołączył: 23.06.2009 Ostrzeżenie: (0%) ![]() ![]() |
3 osobne pytania? nie...
to tylko na localhoscie ci sie szybciej wykona niz na obciazanym serwerze... optymalizuj ilosc zapytan - bo moze sie okazac ze zapychasz serwer ich sama iloscia... pozakladaj indexy odpowiednie, sprawdz EXPLAIN .. poza tym, o ile dobrze mysle to to jest o kilka poziomow nieba bardziej optymalne:
od:
w tym drugim zapytaniu robisz bezsensowne polaczenia miedzy tabelami... i to do tego w iloczynie kartezjanskim czyli: query = count( a ) * count( b ) * count( c ), a pozniej zliczasz unikaty w query... jesli masz nawet po 10 rekordow w tabelach to query wylicza juz 1000 rekordow... i jak tu sie dziwic ze spowalnia...? :] za cos takiego, na duzych tabelach kazdy admin cie powiesi :] Ten post edytował alegorn 1.07.2009, 08:58:38 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 1 447 Pomógł: 191 Dołączył: 26.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
cóż... taki sposób znalazłem na na stronie do której link otrzymałem od webber'a
więc go użyłem, do tej pory nigdy nie łączyłem tabel.. nawet nie używałem funkcji count() w mysql, więc zwyczajnie niemam pojęcia jak sie tym posługiwać, i co jest optymalne -------------------- :)
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 10:07 |