phpbar.de logo

Mailinglisten-Archive

[php] Geschwindigkeit von php/mysql_fetch_array

[php] Geschwindigkeit von php/mysql_fetch_array

saschagros at bluewin.ch saschagros at bluewin.ch
Fre Dez 15 10:13:52 CET 2006


Michael Borchers hat geschrieben..
> macht es dabei einen wirklichen unterschied ob ich 
mysql_fetch_assoc
> oder mysql_fetch_array MYSQL ASSOC nehme? gibt es da noch
> einmal nen performance-push? 

Ich denke nicht. Das ist nur eine Vermutung, aber ich gehe davon 
aus, das eine der beiden M�glichkeiten bloss ein Alias f�r die andere 
Funktion ist und das die gleiche Funktionalit�t nicht zweimal 
programmiert ist.

Mir stellt sich bei deinem Script ganz allgemein die Frage, ist es 
denn n�tig das 3000 Datens�tze (Vielleicht schon bald noch einige 
tausend mehr) wirklich alle auf der gleichen Seite dargestellt werden 
m�ssen? Es ist ja HTML und nicht ein CVS/XML oder sonstiger Export. 

Genial f�r solche Sachen finde ich Structures_DataGrid[1]. Dieser 
Klasse muss man bloss sagen, wie und wo es die Daten holen soll 
(Datenbank, XML, ...) und in welchem Format sie dargestellt werden 
sollen (HTML, XML, CVS, Excel, ...). Dann wird automatisch ein Paging 
erstellt, man kann sortieren, genau bestimmen welche Felder angezeigt 
werden sollen und z.B. auch Callbacks f�r bestimmte Spalten 
definieren, so das beliebig komplexe Daten berechnet und angezeigt 
werden k�nnen. Dazu noch ein einfaches Such-Formular erstellen und 
die Bedienbarkeit sollte mindestens so gut sein wie zuvor.

Wenn das nicht m�glich ist, ist Caching vielleicht eine 
Alternative. Falls sich die Daten in der Tabelle weniger h�ufig 
�ndern als sie angezeigt werden, kann man den ganzen Output ja cachen 
und nicht jedesmal neu berechnen. Auch daf�r hat PEAR verschiedene 
Pakete, zum Beispiel Cache_Lite [2]. Entweder kann man den Cache z.B. 
jede Stunde neu generieren lassen, oder man l�scht den Cache explizit 
�berall wo ein INSERT/UPDATE/DELETE auf die jeweilige Tabelle gemacht 
wird. Je nachdem wie eine Anwendung aufgebaut ist, l�sst sich das mit 
mehr oder weniger Aufwand machen.

Gruss Sascha

PS: Sorry, falls das einen neuen Thread gibt, mein Webmail-Client 
ist leider unf�hig ;)

[1] http://pear.php.net/package/Structures_DataGrid
[2] http://pear.php.net/package/Cache_Lite



php::bar PHP Wiki   -   Listenarchive