phpbar.de logo

Mailinglisten-Archive

[php] Geschwindigkeit von php/mysql_fetch_array

[php] Geschwindigkeit von php/mysql_fetch_array

Yannik Hampe yannik at cipher-code.de
Die Dez 12 15:55:47 CET 2006



Lutz Zetzsche wrote:
> Hi Michael,
> 
> Michael Borchers schrieb:
>> 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
>>

So ganz klar ist es mir nicht...
Aber spiel doch einfach mal mit dem script rum...

Test 1:
mysql_query(...);
...
$start =microtime(true);
while($contacts_row=mysql_fetch_array($res)) ;
print('fetch_array dauerte '.(microtime(true)-$start).' Sekunden');

Test 2:

$start =microtime(true);
while($contacts_row=mysql_fetch_row($res)) ;
print('fetch_row dauerte '.(microtime(true)-$start).' Sekunden');

Test 3:
$start =microtime(true);
while($contacts_row=mysql_fetch_array($res))
print("<tr><td>$contacts_row['..']<br />$con...<br />...</td></tr>");
print('fetch_array mit print dauerte '.(microtime(true)-$start).'
Sekunden');

usw. usw...
Einfach nur mal um festzustellen, was da so lange dauert...
Achja... ich weiss nicht, ob es microtime(true) schon in php4 gab...
Musst ggf. dir da eine Funktion für zusammenbasteln...
> Viele Grüße
> Lutz

Yannik

php::bar PHP Wiki   -   Listenarchive