phpbar.de logo

Mailinglisten-Archive

[php] MySQL Datensatzzeiger

[php] MySQL Datensatzzeiger

"Dr. Volker Göbbels" goebbels at gmx.de
Sam Jun 7 22:06:47 CEST 2008


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