1. IF($ping==0)
  2. {
  3. mysql_query('UPDATE lokalizacje SET routerstatus=0, loss=(loss+1), ping='.$ping.' WHERE router = "'.$ip.'"') OR die('router0'.mysql_error());
  4. mysql_query('UPDATE ip'.$nazwa_tablicy.' SET isping=0, ping=0 WHERE id = "'.$update_id.'"') OR die('router10'.mysql_error());
  5. $qrl = mysql_query('SELECT sprawnosc FROM lokalizacje WHERE router = "'.$ip.'"') OR die('router1'.mysql_error());
  6. while($rrl=mysql_fetch_array($qrl))
  7. {
  8. IF($rrl['sprawnosc']==0)
  9. {
  10. mysql_query('UPDATE lokalizacje SET realloss=(realloss+1) WHERE router = "'.$ip.'"') OR die('router1'.mysql_error());
  11. }
  12. }
  13. }else{
  14. mysql_query('UPDATE lokalizacje SET routerstatus=1, ping='.$ping.' WHERE router = "'.$ip.'"') OR die('router1'.mysql_error());
  15. mysql_query('UPDATE ip'.$nazwa_tablicy.' SET isping=1, ping='.$ping.' WHERE id = "'.$update_id.'"') OR die('router11'.mysql_error());
  16. }
  17. $result = mysql_query('SELECT * FROM ip'.$nazwa_tablicy.' WHERE isping=1');
  18. $num_rows = mysql_num_rows($result);
  19. mysql_query('UPDATE lokalizacje SET sprawnosc='.$num_rows.' WHERE router = "'.$ip.'"') OR die('router1'.mysql_error());
  20. // koniec

czy nie zaglebiajac sie w powyzszy kod mozecie mi dac wskazowki, ktore zapytania da sie zoptymalizowac, aby ograniczyc ilosc zapytan do bazy, bo teraz mam sajgon

  1. mysql> SHOW STATUS LIKE '%key_read%';
  2. +-------------------+-------+
  3. | Variable_name | Value |
  4. +-------------------+-------+
  5. | Key_read_requests | 27361 |
  6. | Key_reads | 85 |
  7. +-------------------+-------+
  8. 2 rows IN SET (0.00 sec)


---------------------
możecie usunąć ten wpis
zacznę od poczytania o normalizacja bazy danych