Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Optymalizacja kodu
boro11
post 31.10.2013, 20:07:00
Post #1





Grupa: Zarejestrowani
Postów: 283
Pomógł: 11
Dołączył: 9.07.2010
Skąd: Warszawa

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


Witam!
Mam kod, który działa tak jak miał działać - tj. wykonuje wszystkie czynności jakie ma robić. Niestety obciąża mi serwer dosyć znacznie i spowalnia strony. Z indeksu przeniosłem go do jednej z podstron i trochę się poprawiło ale ta podstrona teraz działa wolno.

Oto kod:

  1. $sites = array();
  2. $limits = array();
  3. $count = array();
  4. $zap=array(1 => 'SELECT',2 => 'nazwa, limits',3 => 'FROM',4 => 'test_site');
  5. $query = $db->zap($zap);
  6.  
  7. while ($row = mysql_fetch_array($query))
  8. {
  9. $sites [$row['nazwa']] = $row['nazwa'];
  10. $limits [$row['nazwa']] = $row['limits'];
  11. $count [$row['nazwa']] = 0;
  12. }
  13.  
  14. $zap2=array(1 => 'SELECT',2 => 'site',3 => 'FROM',4 => 'test_sites',5 => 'WHERE ((status = "Approved") OR (status = "Pending"))');
  15. $quer = $db->zap($zap2);
  16. while ($row2 = mysql_fetch_array($quer))
  17. {
  18. if (in_array($row2['site'],$sites)) $count[$row2['site']]++;
  19.  
  20. if (($count[$row2['site']] > $limits[$row2['site']]) && ($limits[$row2['site']] != '~') && ($limits[$row2['site']]!='') && ($limits[$row2['site']]!='0'))
  21. {
  22. $zap3=array(1 => 'UPDATE',2 => 'test_site',3 => 'SET',4 => 'status="LIMITED"',5 => 'WHERE ((nazwa="'.$row2['site'].'") AND (status<>"SCAM"))');
  23. $db->zap($zap3);
  24. }
  25. }
  26.  
  27. $zap=array(1 => 'SELECT',2 => 'nazwa, limits',3 => 'FROM',4 => 'test_site');
  28. $query2 = $db->zap($zap);
  29. while ($row2 = mysql_fetch_array($query2))
  30. {
  31. if (isset($count[$row2['nazwa']])) $put = $count[$row2['nazwa']].'/'.$row2['limits'];
  32. else $put = '0/'.$row2['limits'];
  33. $zap=array(1 => 'UPDATE',2 => 'test_site',3 => 'SET',4 => 'refkow = "'.$put.'"',5 => 'WHERE nazwa="'.$row2['nazwa'].'"');
  34. $db->zap($zap);
  35. }


Dałoby się to jakoś zoptymalizować lub zrobić żeby robiło się np. raz na 10 minut, a nie z każdym wczytaniem strony?
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Wersja Lo-Fi Aktualny czas: 13.07.2025 - 01:53