Der Paging-Algorithmus ist ein Thema, das Webentwicklern große Sorgen bereitet. Viele Leute haben in diesem Bereich Dokumente geschrieben, und es scheint, dass es in der Tat nichts zu besprechen gibt Durch Ändern der Datendarstellung kann ein besserer Paging-Algorithmus verwendet werden. Mal sehen, ob wir es jetzt besser machen können.
Lassen Sie uns zunächst über einige bestehende Methoden sprechen.
Eine davon ist das Durchblättern von DataGrid. Diese Methode ist die einfachste, aber nicht effizient und erfordert das Lesen aller Daten vor den erforderlichen Daten.
Die zweite besteht darin, die Paging-Methode von DataSet durch Angabe des Startdatensatzes und der Datensatznummer DbDataAdapter.Fill zu füllen. Diese Methode ist ebenfalls einfach, aber auch nicht effizient und erfordert das Lesen aller Daten vor den erforderlichen Daten.
Die dritte besteht darin, die erforderlichen Datensätze aus der Mitte der Tabelle durch Mehrfachauswahl oben und Mehrfachsortierung auszuwählen. Um zu verhindern, dass die Daten auf benachbarten Seiten wiederholt werden, ist es erforderlich, nicht in zu verwenden, was dazu führt, dass die Enddaten verloren gehen Die Leistung einer Tabelle mit einer großen Menge an auszuwählenden Daten wird stark beeinträchtigt.
Angenommen, wir ändern die Darstellungsform der Tabelle und nehmen als Beispiel die Rasterdarstellung mit Bildlaufleisten in der herkömmlichen C/S-Anwendung. Tatsächlich ist diese Methode die am besten geeignete Darstellungsmethode für Datenbanktabellen und die am häufigsten verwendete Darstellungsmethode Webanwendungen Die Seitenzahl-Verbindungsmethode 1,2,3... oder die Seitenzahl-Browsing-Leistenmethode der Schaltflächen „Vorherige Seite“ und „Nächste Seite“ sind der letzte Ausweg, da einfache Technologie nicht zum Implementieren von Bildlaufleisten in Webanwendungen verwendet werden kann. Netz.
Die Tabellen in der Datenbank verfügen alle über Primärschlüssel, um verschiedene Datensätze in den Tabellen zu unterscheiden. Die Daten im Raster auf der Benutzeroberfläche verfügen logischerweise auch über Primärschlüssel, da die Daten sonst mehrdeutig sind. Es ist unmöglich, den Primärschlüssel der gelesenen Daten zu kennen. Selbst wenn einige Anwendungen ihn eingerichtet haben, kennen sie den Primärschlüssel der gelesenen Daten, wenden ihn jedoch nicht auf Paging an Mit dem Primärschlüssel der gelesenen Daten können Sie Paging sehr einfach durchführen.
Der Algorithmus für die Homepage ist sehr einfach
Wählen Sie die Größe der oberen Seite * aus der Reihenfolge des Tabellennamens nach Primärschlüssel aus
. Bei Tabellen mit Bildlaufleisten scrollen die Daten nacheinander Seite für Seite. Auch wenn Sie die Bildlaufleiste ziehen, können Sie Seite für Seite an die ausgewählte Position scrollen Algorithmus für neue Seiten ist
Wählen Sie die obere Seitengröße * aus dem Tabellennamen, wobei Primärschlüssel > Primärschlüssel am Ende der vorherigen Seite aufgezeichnet wird. Reihenfolge nach Primärschlüssel.
Wenn Caching verwendet wird, müssen alle Daten nur einmal heruntergeladen werden und neue Daten werden nur beim Scrollen heruntergeladen das Ende.
Dieser Algorithmus erfordert die Kenntnis des Primärschlüssels der Daten im Raster und die Anwendung der Primärschlüsseldaten auf das Paging für mehrere Primärschlüssel und sortierte Tabellen. Der Algorithmus ist derselbe, die Anweisungen sind jedoch komplizierter. Sie können nicht nur von der Startseite aus starten, sondern auch von der letzten Seite aus starten und vorwärts scrollen.
Es gibt kein Problem mit der Leistung dieses Algorithmus, egal wie groß die Tabelle ist, der Datensatz, an dem er ausgewählt wird, ist besser geeignet, die Seitenauswahlmethode „Homepage“, „Vorherige Seite“ und „Nächste Seite“ zu verwenden letzte Seite und eignet sich eher für Bildlaufleisten; nicht für die Paginierung bestimmter Seitenzahlen.
Informationen zu einem Raster mit Bildlaufleisten, die diesen Algorithmus verwenden, finden Sie in unserer Demonstration www.BizStruct.cn .
Wenn Sie Fragen stellen, berücksichtigen Sie bitte zunächst zwei Punkte, da Sie sonst möglicherweise nicht die Vorteile der Kombination dieses Algorithmus mit unserem System erkennen:
Erstens: Welches ist bequemer, das herkömmliche C/S-Antragsformular oder das Paging-Formular im Web?
Erstens, wie unterschiedlich ist die Tabelle mit Bildlaufleisten, die wir implementiert haben, von der Tabelle in herkömmlichen C/S-Anwendungen?
Erklärung der Antwort:
In einigen Antworten wurde angegeben, dass Vorgänge wie „Zu Seite xx springen“ nicht implementiert werden können.
Aber denken wir darüber nach: Wenn jemand in einer C/S-Anwendungsumgebung diese Methode des Seitensprungs verwendet, wird es definitiv jeder seltsam finden.
Das von uns implementierte Raster mit Bildlaufleisten ist in einer LAN-Umgebung fast so schnell wie die vorherige C/S-Anwendung und auch in einer WAN-Umgebung sehr schnell.
Der „Sprung zu XX-Seitenvorgang“ von Webanwendungen ist eigentlich der letzte Ausweg. Wenn das Raster herkömmlicher C/S-Anwendungen implementiert werden kann, warum sollten wir es dann verwenden?