![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 36 Pomógł: 1 Dołączył: 3.05.2008 Ostrzeżenie: (0%) ![]() ![]() |
Cześć,
Zaprojektowałem tabele do quizzów:quizz_result and quizz. quizz ma klucz główny na ID a quizz_result klucz obcy QUIZZ_ID do ID quizzu. Poniższe zapytanie bierze publiczne quizzy posortowane po dacie z dodatkowymi informacjami: czy bieżący użytkownik (683735) wypełnił quizz i czy wynik jest poprawny (>0) i ile osób wypełniło już ten quizz. Zrobiłem więc prostego selecta z dwoma joinami: [SQL] pobierz, plaintext
I dodałem indeksy do kolumn: Quizz: [SQL] pobierz, plaintext
i do quizz_result: [SQL] pobierz, plaintext
Ale ciągle zapytanie trwa długo: prawie sekundę. A mam tylko 30k wierszy w QUIZZ_RESULTS i 120 w QUIZZ Kiedy robię EXPLAIN otrzymuję: [SQL] pobierz, plaintext
Widze że to: [SQL] pobierz, plaintext
może sprawiać problemy albo 752 wierszy w ostatnim wierszu, ale co dalej zrobić? Jak zoptymalizować to zapytanie? Edit: skróciłem zapytanie do wersji która trwa tak samo długo. Może teraz będzie łatwiej. Ten post edytował tomaszs2 19.10.2009, 23:12:27 -------------------- Polub mnie na Facebooku http://www.facebook.com/pages/Polishwords/172360026392
Albo Google+ https://plus.google.com/115722487152014068500/posts |
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 18:51 |