Mailinglisten-Archive |
"Tacker, Markus" schrieb: > > Hoi Liste, > > es ist ja eine leichte Aufgabe, den kompletten Inhalt einer DB auf mehrere > Seiten verteilt auszugeben. > > Mein Problem ist aber folgendes: > Wenn ich eine 'komplexe' DB-Abfrage mit WHERE, ORDER BY habe, kann ich ja > die Methode, LIMIT mit Startoffset und Anzahl auszugebender Reihen > vergessen, da die ja durch die Abfrage durcheinander gewürfelt werden. > > Was ist nun der beste Weg (Performance!) sowas zu handeln. > > Sollte ich > A) Das komplette Ergebnis des Queries in der Session speichern und jeweils > nur einen Teil anzeigen lassen > + DB-Zugriff nur einmal > - Sessions werden in Textfiles gespeichert > (langsam) oder im RAM, was bei vielen Usern > und riesigen DBs dazu führt, dass dem Server > schnell die Luft aus geht > > B) Jedesmal das Ergebnis neu holen lassen > + Keine temporäre Abspeicherung > (Daten sind immer aktuell) > - Viel DB-Traffic Klappt doch prima mit dem SQL. Erst wird WHERE ausgeführt, dann ORDER und zum Schluß LIMIT. Oder willst du das WHERE und ORDER nur auf die z.B. ersten 20% der Zeilen in der Tabelle ausführen? Ich denke mit B) bist du gut bedient. Ingo
php::bar PHP Wiki - Listenarchive