Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php/mysql] Przeglądarki wieszają się przy zapytaniu SQL
Jarod
post
Post #1





Grupa: Zarejestrowani
Postów: 1 190
Pomógł: 27
Dołączył: 23.04.2005

Ostrzeżenie: (0%)
-----


Mam zoptymalizowane zapytanie sql (przynajmniej tak mi się wydaje, indeksy pozakładane), które pobiera z bazy pewne dane na konkretny dzień (bieżąca data). Dane wyciągane są z dwóch tabel. Wszystko ładnie śmiga, dopóki nie próbuję pobierać danych z pewnego zakresu dat. Np.
  1. SELECT (...) FROM (...) WHERE DATA BETWEEN '2008-01-01' AND '2008-02-01' AND (...)

Takie zapytanie zwraca mi około 1500wierszy. Następnie za pomocą foreach() wyświetlam je na stronie. Wystarczy zakres miesiąca w datach aby przeglądarka (FF, Opera i IE) zawieszała się na czas generowania strony. Po prostu nie reaguje na polecenia. W tym samym czasie obciążenie procesora wzrasta do 100% i utrzymuje się jeszcze kilkanaście sekund po wykonaniu zapytania!!! Firefox pokazuje mi że strona ładowana jest około 56sekund. Aplikacja intranetowa, nie ma znaczenia czy testuje lokalnie czy na szybkim serwerze Hp dwurdzeniowym z 2Gb pamięci. Dodatkowo Firefox po zakończeniu generowania strony bardzo wolno działa czasami przestaje (trzeba ubijać proces). Najciekawsze jest to, że samo zapytanie generuje się:

- w konsoli mysql ~0,5sekundy
- aplikacja podaje, że cały skrypt php wykonał się w ~0,7sekund

Sprawdzałem WinCacheGrind i nie ma żadnego "wąskiego gardła". To, że firefox muli jeśli na stronie jest dużo danych to wiedziałem. Ale dlaczego wszystkie przeglądarki tak długo generują stronę i nie reagują? Spotkaliście się z czymś takim?
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 12:49