Mailinglisten-Archive |
On 12/14/04 22:35:12 +0100 Hannes Streicher wrote: > am Dienstag, 14. Dezember 2004 um 22:02 schrieben Sie: >> Macht man es einfach nur mit LIMIT und OFFSET dann würden ja ein neuer >> Eintrag der dazu kommt wärend man Blätter das komplette Ergebniss >> verfälschen? > > das kommt drauf an , wie man das sieht , wenn du das ergebniss > einfrierst (anständige datenbanken bieten dazu transaction > isolationslevel snapshop (oder wie auch immer das heissen mag ) ) > dann sieht man den hinzugekommen Datensatz nie Wie rettest Du die gestartete Transaktion ueber mehrere Page-Requests hinweg? Nur dann hilft Dir ja die Isolations- eigenschaft der Transaktion weiter. Insbesondere, wenn die Queries fuer das Ermitteln der Ergebnismenge (oder deren Teilmengen fuer die einzelnen Seiten einer Ergebnisliste) "teuer" ist, bietet es sich an, die vollstaendige Ergebnismenge "passend" in eine Ergebnis-Tabelle zu schreiben. Wie man die Ergebnista- belle exakt aufbaut (nur session-id und ein Schluessel in die Quelltabelle; session-id und vollstaendig denor- malierte Attribute) haengt sehr stark von der Applikation (und vom DB-Schema) ab. Achja, ... man halst sich dadurch natuerlich die Garbage Collection fuer die Ergebnistabelle auf; das kann man aber an die GC fuer die Sessions selbst koppeln. -Andreas
php::bar PHP Wiki - Listenarchive