Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem zapytanie
Forum PHP.pl > Forum > Bazy danych > MySQL
picom
Witam,
Mam pewien problem z zapytaniem tj:
Zapytanie poniżej wykonuje się bardzo szybko u mnie lokalnie na laptopie gdzie jest zainstalowany: AppServ2.5.10, a na serwerze z Debianem niestety wykonuje się około 15s. Serwer jest o wiele lepszy aniżeli laptop.

Wersja serwera na Debianie: 5.0.32-Debian_7etch8-log
Wersja serwera lokalnie: 5.0.51b-community-nt-log

Kod
select u.idUzytkownika, u.Imie, u.Nazwisko, SUM(fu.CenaBrutto), SUM(fp.Kwota) from Uzytkownik u

inner join Faktura f on u.idUzytkownika = f.idUzytkownika
inner join FakturaUsluga fu on f.idFaktury=fu.idFaktury
left join FakturaPlatnosc fp on f.idFaktury=fp.idFaktury

where
f.TerminZaplaty<'2009-01-28'

group by u.idUzytkownika


sugestie miele widziane. Jak potrzeba więcej informacji np. explain itp. mogę wkleić.


Pozdrawiam
c3zi
Na serwerze masz tyle samo danych co w lokalnej bazie danych ? Indeksy rozumiem tak samo pozakładane są ..
picom
Tabela Faktura:
idFaktury - PRIMARY
idUzytkownika - INDEX
TerminZaplaty - INDEX

Tabela FakturaPlatnosc:
idfp - PRIMARY
idFaktury - INDEX

Tabela FakturaUsluga:
idfu - PRIMARY
idFaktury - INDEX

Tabela Uzytkownik:
idUzytkownika - PRIMARY


Tak mniej więcej to wygląda.
Faktycznie w tabeli FakturaPlatnosc lokalnie nie mam rekordów a na serwerze jest około 15k..., ale tak czy tak wykonanie zapytań 15s to jednak długo hmmm
c3zi
Pole daty zrób, jeśli nie masz, timestamp. Sumowanie musisz robić w zapytaniu ?
picom
Timestamp zrobione, ale nic to nie dało. Co do sumowania jak wydajniej nie musi być w MySql.
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.