phpbar.de logo

Mailinglisten-Archive

[php] Zwei Abfragen fuer Seitenzahl + Limit (ap)

[php] Zwei Abfragen fuer Seitenzahl + Limit (ap)

Andreas Braukmann braukmann at tse-online.de
Die Dez 14 22:47:37 CET 2004


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