Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MySQL] Problem z pobieraniem dużej ilości danych
progresmedia
post
Post #1





Grupa: Zarejestrowani
Postów: 30
Pomógł: 1
Dołączył: 7.05.2009
Skąd: Wrocław

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


Witam,

mam następujący problem:

chcę wyświetlić trochę rekordów z bazy i teraz tak:

jeżeli wyświetlam do 2000 rekordów to wszystko jest OK.

Jeżeli chcę wyświetlić > 2000 rekordów, wyskakuje komunikat:

Kod
<h1>Internal Server Error</h1>  The server encountered an internal error or misconfiguration and was unable to complete your request


Znacie może jakiś sposób na obejście tego?

Próbowałem zwiększyć 'max_execution_time', ale niestety efekt został ten sam.

Od razu mówię że wolałbym uniknąć porcjowania zapytań i chciałbym wyświetlić wszystkie rekordy na jednej stronie.

Ten post edytował progresmedia 23.08.2009, 14:22:27
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
thek
post
Post #2





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




W pierwszym poście napisał, że nie chce porcjować zapytania, więc stronnicowanie raczej odpada. Ja bym się zastanawiał nad ustawianiem jednak set_time_limit co jakiś określony czas ( co ileś iteracji ) wewnątrz pętli. Teoretycznie powinno to resetować licznik działania skryptu. Stwarza też narzut czasowy niestety. Z każdą iteracją bowiem byłby if i inkrementacja jakiegoś licznika, czyli minimum 2 dodatkowe cykle zegara co przejście pętli. Mało w porównaniu do całości czasu trwania skryptu, więc można się skusić i sprawdzić. Choć myślę, że jednak bez jakiegoś sensownego ograniczenia liczby rekordów nie ma co tego ruszać, bo obejście max_execution_time bez porcjowania, choćby niejawnego nie jest możliwe. Ja w newsletterze dla dużej liczby użytkowników zrobiłem rekurencję gdzie skrypt wywoływał sam siebie po pewnym czasie, ale tego typu rozwiązanie jest bezsensowne tutaj.
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: 14.10.2025 - 03:43