Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 101 Pomógł: 0 Dołączył: 3.12.2005 Ostrzeżenie: (0%)
|
witam. optymalizuje 60 000 rekordów w tabeli ale trwa to koszmaaaaarnie wolno.
zerkniecie gdzie kod jest walnięty, że tak długo to trwa? poniższy kot zapętlam kilka razy a dokument odświeżam sobie z ajaxa.
|
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 81 Pomógł: 0 Dołączył: 26.08.2006 Skąd: Szczecin Ostrzeżenie: (0%)
|
Zacznij od wyciągnięcia pierwszego selecta ($r) poza Twoje zapętlenie, i wywal z niego limita. I wtedy dopiero wrzuć to w pętlę.
Nie wywołuj tyle razy date() i time() - to funkcje odwołujące się do systemu, więc i dużo zajmuje ich wywołanie. Pobierz sobie potrzebne Ci dane raz i zmiennych, i używaj ich. Poniżej w liniach 6 i 7 masz 6 wywałań date(), a może być tylko 1. Zamiast 'data>=".$pocz_dnia." AND data<".$kon_dnia."' użyj BETWEEN. Nie wiem jak to wygląda w innych częściach systemu, ale jeśli dasz radę to spróbuj sobie gdzieś keszować warotść MAX(id) i nie pobierać tego za każdym razem - żeby znaleźć tą wartość MySQL za każdym razem sprawdza wszystkie rekordy w bazie. To tak na pierwszy rzut oka, może jeszcze ktoś coś dopowie ciekawego :) |
|
|
|
patrykt Problem z optymalizacją tabeli. 6.12.2006, 11:45:53
patrykt dzięki za rady. zastosowałem niemal wszystkie, nie... 7.12.2006, 11:34:26
mysz Nie mówiłem nic o wyjmowaniu date() z pętli. Mówił... 7.12.2006, 15:18:31 ![]() ![]() |
|
Aktualny czas: 27.12.2025 - 06:53 |