Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MYSQL]Geometryczny wzrost transferu w stosunku do wielkości bazy, Skąd takie wielkie różnice ?
majestiq
post
Post #1





Grupa: Zarejestrowani
Postów: 235
Pomógł: 0
Dołączył: 26.10.2006

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


Witam,

Mam baze która 'waży' 1MB (około 4 000 rekordów) i generuje transfer 1-2 GB dziennie, gdy przełącze baze na drugą (identyczna struktura), z tym że o większym rozmiarza - 5MB (około 23 000 rekordów) transfer skacze do nieprawdopodobnego poziomu około 80GB na dobę !

Co może być przyczyną takiego stanu rzeczy ?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
majestiq
post
Post #2





Grupa: Zarejestrowani
Postów: 235
Pomógł: 0
Dołączył: 26.10.2006

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


Użuwam count.
Mógłbyś rzucić okiem na ten kod:

  1. <?php
  2. if($_GET['id'] == 'szukaj') {
  3. echo '<div id="bg">
  4. <div id="page">
  5. <div id="content" style="overflow:hidden;">'; //style="border: 1px solid #000; height:2000px;"
  6.  
  7. if( $_POST['wykonawca'] )
  8. $wykonawca=$_POST['wykonawca'];
  9. else if( $_GET['wykonawca'] )
  10. $wykonawca=$_GET['wykonawca'];
  11.  
  12. //$czas1=microtime();
  13. if( $_POST['wykonawca'] ) {
  14.  
  15. $dodaj = mysql_query("INSERT INTO `szukark` ( `id` , `nazwa` ) VALUES ( '', '$wykonawca' );");
  16. }
  17.  
  18. $sql = 'SELECT id,tytul,rozmiar,licznik,dlugosc FROM `'.$tabelka.'` WHERE `tytul` LIKE '%'.$wykonawca.'%' ORDER by tytul LIMIT 50 ';
  19. //$czas2=microtime(); 
  20. //$czas=$czas2-$czas1; 
  21.  //echo $czas;
  22.  
  23. $result123 = mysql_query($sql);
  24.  
  25.  
  26. $rekordow = mysql_num_rows($result123); 
  27. $rek = '';
  28. if($rekordow == 50) { $rek = '<span style="line-height:10px; margin-top:10px; color:#ff0000;"> (ograniczenie)</span>'; }
  29.  
  30. echo ' <span style="margin-top:7px; float: left;"><br />Szukana fraza: <b>'.$wykonawca.'</b> // znaleziono '.$rekordow.' rekordĂłw'.$rek.'</span>';
  31.  
  32.  
  33.  
  34. if(mysql_num_rows($result123) > 0) {
  35.  
  36.  
  37. while($row123 = mysql_fetch_assoc($result123))
  38. {
  39. $rowaqwe = tytul($row123['tytul']);
  40.  
  41.  if ($row123['dlugosc'] == '') {
  42. $zmexpl = $row123['rozmiar'];
  43. $expl = explode('|', $zmexpl);
  44. //echo $expl[1].' - '.$expl[0]; 
  45.  
  46. $expl[0] = str_replace("<b>", "",$expl[0]);
  47. $expl[0] = str_replace("</b>", "",$expl[0]);
  48.  
  49.  
  50.  
  51. echo '
  52. <div class="result" >
  53. <br /><a title="'.$row123['tytul'].'" class="title" style="font-weight: bold;" href="mp3,'.$row123['id'].','.$rowaqwe.'.html">'.$row123['tytul'].'</a><br>
  54. <b>Rozmiar</b>: '.$expl[1].' . <b>Czas</b>: '.$expl[0].' . <b>Pobrano</b>: '.$row123['licznik'].
  55. </div> 
  56. '; 
  57.  
  58. }
  59.  
  60.  
  61.  
  62.  
  63. else {
  64.  
  65.  
  66. //print_r ($row123);
  67. echo '
  68. <div class="result" >
  69. <br /><a title="'.$row123['tytul'].'" class="title" style="font-weight: bold;" href="mp3,'.$row123['id'].','.$rowaqwe.'.html">'.$row123['tytul'].'</a><br>
  70. <b>Rozmiar</b>: '.$row123['rozmiar'].' . <b>Czas</b>: '.$row123['dlugosc'].' . <b>Pobrano</b>: '.$row123['licznik'].
  71. </div> 
  72. '; 
  73. }
  74.  
  75.  
  76.  
  77.  
  78.  }
  79.  
  80.  
  81.  
  82. if(mysql_num_rows($result123) < 8) { echo '<div style="height:500px;"></div>';}
  83. ?>


Można by tutaj coś poprawić (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)
To jest jakaś masakra z tym transferem, jakby każde zapytanie do bazy pobierało za każdym razem całą baze ...
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: 9.10.2025 - 01:02