phpbar.de logo

Mailinglisten-Archive

[php] Geschwindigkeit von php/mysql_fetch_array

[php] Geschwindigkeit von php/mysql_fetch_array

Michael Borchers list at tridemail.de
Die Dez 12 15:34:01 CET 2006


Ich habe mal auf die Schnelle eines unserer Skripte komprimiert, siehe 
unten.
Eigentlich nichts Spektakuläres. Eine Query mit über 3000 Datensätzen wird 
mit while und mysql_fetch_array durch ein "HTML Template" gejagt.
Die Query dauert laut MySQL 0,22 Sekunden,
ohne den ganzen HTML Schnickschnack und z.B. nur mit Ausgabe eines einzelnen 
Feldes aus dem Result, braucht auch der Browser nicht einmal eine Sekunde.

Aber so wie unten mit dem HTML, braucht "mein Browser", also Server während 
des Parsens, 6 Sekunden und mehr.

Ist das eine normale Durchschnittszeit? Das kann dich nicht sein?! Die CPU 
Belastung beträgt bis zu mehr als 30% und dauert lange an, und das nur bei 
einem Skript!
Bei zweien ist der Server auf seinen Knien.

Da stimmt doch was nicht?!
Könnte ein Update von php4 auf 5 etwas bringen?!

Apache/2.0.50 PHP/4.3.10





Das Skript:

------------------------------------------------------------------------------------------------------------------------------------------------------



<?php
echo time();

ob_start();

$q = "SELECT SQL_CALC_FOUND_ROWS contacts.*, address_book.* FROM contacts, 
address_book WHERE contacts.address_book_id = address_book.address_book_id 
AND contacts.groups_id = 1 ORDER BY contacts.contacts_name ASC LIMIT 0, 
3071";

$res = mysql_query($q);
?>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<?php
while($contacts_row=mysql_fetch_array($res))
{
?>
  <tr>
    <td valign="top"><?php echo $contacts_row['entry_street_address']; ?><br 
/>
   <?php echo $contacts_row['entry_postcode']; ?> <?php echo 
$contacts_row['entry_city']; ?><br />
   Tel.: <?php echo $contacts_row['contacts_telephone']; ?><br />
   Fax: <?php echo $contacts_row['contacts_fax']; ?><br />
 </td>
  </tr>
<?php
}

ob_flush();
?>
</table>
<?php
echo "<hr>" . $q . "<hr>" . time() . "s";
?> 


php::bar PHP Wiki   -   Listenarchive