Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL]relacyjne bazy danych - problem
Forum PHP.pl > Forum > Przedszkole
sweter
Witam, od niedawna uczę się o relacyjnych bazach danych i natrafiłem na dziwny problem.

Otóż, mam 4 tabele: hotele (zawiera 21 rekordów), oferty(890), wycieczki(10 565), wyjazdy_przyjazdy[250 466(!) rekordów].

Przeszedłem już przez wżystkie etapy normalizacji, tabele są już maksymalnie porozbijane.

Zwykłe zapytanie wygląda tak:

  1.  
  2. SELECT wycieczki.id_exim, hotele.nazwa, wycieczki.dlugosc_pobytu, wyjazdy_przyjazdy.data_rozp
  3. FROM hotele, oferty, wycieczki, wyjazdy_przyjazdy
  4. WHERE hotele.id_exim = oferty.id_hotelu
  5. AND oferty.id_eximtours = wycieczki.id_oferty
  6. AND wycieczki.id_exim = wyjazdy_przyjazdy.id_wycieczki
  7. AND hotele.nazwa_kraju = 'Egipt'


Zapytanie wykonuje się przez 0.3 sekundy.

Gdy chcę, aby rekordy byłu posortowane wpisuję 

  1.  
  2. SELECT wycieczki.id_exim, hotele.nazwa, wycieczki.dlugosc_pobytu, wyjazdy_przyjazdy.data_rozp
  3. FROM hotele, oferty, wycieczki, wyjazdy_przyjazdy
  4. WHERE hotele.id_exim = oferty.id_hotelu
  5. AND oferty.id_eximtours = wycieczki.id_oferty
  6. AND wycieczki.id_exim = wyjazdy_przyjazdy.id_wycieczki
  7. AND hotele.nazwa_kraju = 'Egipt'
  8.  
  9. ORDER BY wyjazdy_przyjazdy.data_rozp,wyjazdy_przyjazdy.czas_rozp


jednak, w tym wypadku sam wyłączyłem serwer (dbciążenie procka 100% przez 2 min), bo nie chciało mi się czekać.

Dodałem więc na koniec 

  1. LIMIT 10


Po kolejnych 2 minutach i 100% obciążeniu procesora, znowu dałem za wygraną.

I tu pytanie: czemu to trwa tak długo i czy można to jakoś skrucić?



nospor
po pierwsze: podaj strukture tabel
po drugie: indexy zakladales?
sweter
HOTELE:id, id_exim, nazwa, ...
OFERTY:id, id_eximtours, id_hotelu, ...
WYCIECZKI:id, id_exim, typ_wycieczki, id_oferty, ...
WYJAZDY_PRZEJAZDY id, id_exim, id_wycieczki, ...

Nie będę pisał jak tabele mają być relacyjne, bo jest to na górze w zapytaniu.
Dodam, jeszcze że kilka rekordów odnosi się naraz z tableli wyjazdy_przjazdy do wycieczki
nospor
moze ja pisze nie wyraźnie, moze po chinsku, ale staraj sie podac wszystko o co prosilem w pierwszym poscie.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.