Mailinglisten-Archive |
Ahoi ;) > Wenn du oft in den Datensätzen blättern musst, empfehle ich dir, die > ganze Ergebnismenge zuerst in ein array zu kopieren, z. B. mit > array_push. > > http://www.php.net/manual/de/function.mysql-fetch-array.php#76598 *ürgs* Aber nur, wenn die maximal mögliche Datenmenge 1000 Records (oder so) nicht überschreitet ;) Wir haben hier einen Kunden, der Tabellen mit 1-50 Mio. Datensätzen hat. Ein "select *" wäre da der Server Tod ;) Ich gebe aber zu, daß ich, wenn ich genau kontrollieren kann, wieviele Datensätze da geflogen kommen, sehr gern zum Beispiel auf ADOdb's getAll() zurück greife ;o) Für echtes Paging (in Steps von je n Datensätzen) würd ich immer ein offset/limit Statement nehmen. Wenn man wirklich einzelne Records vorwärts und rückwärts muß, würde sich eine Stored Procedure mit Cursor die Resourcen am meisten schonen. Das funktioniert natürlich nur innerhalb eines einzelnen Scriptlaufs. Wenn ich einen Algorithmus sehe, der essentiell darauf angewiesen ist, den "davor stehenden" Datensatz zu lesen, würde ich erst mal davon ausgehen, daß der Algorithmus anders gebaut werden muß. Schöne Denkanstöße dazu finden sich in den SQL Büchern von Joe Celko ;) Viele Grüße, Volker Göbbels -- Dr. Volker Göbbels Arachnion GmbH & Co. KG, Sandkaulbach 4, 52062 Aachen Geschäftsführer Dr. V. Göbbels, HR Aachen A 4674 http://www.arachnion.de, http://blog.arachnion.eu Agile Alliance Corporate Member, Mitglied im BVSI e.V & Business-Club Aachen Maastricht
php::bar PHP Wiki - Listenarchive