Mailinglisten-Archive |
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