tss.. und ich wollte mit einer �hnlichen L�sung evt. meinen Baum beschleunigen. Gut das Ihr mich vorher aufgekl��rt habt...
Danke Claudius und Joachim, ich lerne immer gern dazu. Gruss, Andreas Roth, http://ed59.s5.domainkunden.de/vk/?4 > -----Urspr�ngliche Nachricht----- > Von: Joachim van de Bruck [mailto:[EMAIL PROTECTED]] > Gesendet: Dienstag, 19. Februar 2002 19:46 > An: ASP Datenbankprogrammierung > Betreff: [aspdedatabase] AW: RE: [aspdedatabase] Re: Paging > > > Hallo! > > > herzlichen Dank f�r die Antwort! > > Ich werd's einfach mal probieren... > > Also ein Recordset in eine Session- oder Application-Variable zu packen > klappt nur in einer Testumgebung. Auf dem Live-Server bringst Du die > Performance damit glatt um bis zu Faktor 0,1 herunter. > > Die ADO-Properties .PageSize, .PageCount, .AbsolutePage sind dann > sinnvoll, wenn Du sie mit einem Serverside-Cursor verwendest. ADO > (Clientside-Cursor) liest sehr wahrscheinlich jedes mal das komplette > Recordset bis zur geforderten Seite. > Selbst wenn die Datenbank (Serverside-Cursor) das Paging unterst�tzt, > m�sste die Connection offen gehalten werden, damit das Paging nicht > jedes mal von vorne mit der Einteilung in Seiten beginnen muss. > > Woher soll die Datenbank oder ADO aber wissen, mit welchem Record die > zweite oder dritte Seite beginnt? Wenn das Recordset nach einem > (zusammengesetzten) Index sortiert wird, kann das mit einem (einfachen) > Index-Scan erledigt werden. Bei komplexen SQL-Abfragen kann es aber auch > vorkommen, dass selbst die Datenbank immer wieder von vorne mit dem > Lesen beginnt. > > Hinzu kommt, dass durch neue Datens�tze oder Datensatz�nderungen ja auch > die einzelnen Pages von Abfrage zu Abfrage ziemlich unterschiedlich > ausfallen k�nnen. > > Die sicherste und schnellste L�sung im Web ist also, die Daten nach > einem zusammengesetzten, eindeutigen Index zu sortieren und dann jede > Seite mit "TOP 20" auszugeben und dabei den Index des ersten und letzten > Datensatzes abzuspeichern, damit man diese in einer zus�tzlichen > WHERE-Klausel einsetzen kann, um vorw�rts oder r�ckw�rts zu bl�ttern. > Auf Paging w�rde ich mich im Web nicht einlassen, es sei denn, ich wei�, > dass die Datenbank das auch unterst�tzt und den Index-Scan selbst�ndig > hinkriegt (SQL-Server kann das, aber nicht Access). > > Bei kleineren Datenmengen (unter 200 Datens�tze???) kann man auch �ber > eine XML-L�sung nachdenken. > > Freundliche Gr��e > Joachim van de Bruck > > > > | [aspdedatabase] als [EMAIL PROTECTED] subscribed > | http://www.aspgerman.com/archiv/aspdedatabase/ = Listenarchiv > | Sie k�nnen sich unter folgender URL an- und abmelden: > | http://www.aspgerman.com/aspgerman/listen/anmelden/aspdedatabase.asp | [aspdedatabase] als [email protected] subscribed | http://www.aspgerman.com/archiv/aspdedatabase/ = Listenarchiv | Sie k�nnen sich unter folgender URL an- und abmelden: | http://www.aspgerman.com/aspgerman/listen/anmelden/aspdedatabase.asp
