1. Grundlegende Implementierung des Limits Im Allgemeinen fragt der Client die Daten in der Datenbank per Paginierung ab, indem er zwei Parameter übergibt: pageNo (Seitennummer) und pageSize (Anzahl der Einträge pro Seite). Wenn die Datenmenge klein ist (Hunderte oder Tausende von Tupeln), verwenden Sie die integrierte Begrenzung von MySQL, um dieses Problem zu lösen: Vom Kunden empfangen: {pageNo:1,pagesize:10} Wählen Sie * aus Tabellenlimit (Seite Nr. 1) * Seitengröße, Seitengröße; Vom Kunden empfangen: {pageNo:5,pageSize:30} Wählen Sie * aus Tabellenlimit (Seite Nr. 1) * Seitengröße, Seitengröße; 2. Erstellen Sie einen Primärschlüssel oder einen eindeutigen Index Bei kleinen Datenmengen führt die einfache Verwendung einer Begrenzung der Paging-Daten nicht zu einer spürbaren Leistungsverlangsamung. Wenn die Datenmenge jedoch Zehntausende bis Millionen erreicht, wirkt sich die Leistung von SQL-Anweisungen auf die Datenrückgabe aus. Zu diesem Zeitpunkt müssen Sie den Primärschlüssel oder den eindeutigen Index verwenden, um die Daten zu paginieren. Angenommen, der Primärschlüssel oder eindeutige Index ist good_id Vom Kunden empfangen: {pageNo:5,pagesize:10} Wählen Sie * aus der Tabelle, wo good_id > (pageNo-1) * Seitengrößenlimit Seitengröße; –Daten mit good_id zwischen 40 und 50 zurückgeben 3. Neubewertung auf Basis von Daten Wenn die Informationen in aufsteigender oder absteigender Reihenfolge zurückgegeben werden müssen, sortieren Sie die obigen Anweisungen basierend auf den Daten neu. Standardmäßig nach ASC/DESC-Reihenfolge oder umgekehrter Reihenfolge sortieren Wählen Sie * aus der Tabelle, in der Good_ID > (Seitennr.-1)*Seitengröße, sortiert nach Good_ID, Seitengröße begrenzen; –Daten mit good_id zwischen 40 und 50 zurückgeben und die Daten nach good_id sortieren 4. Best Practices für Paging 10 Artikel pro Seite anzeigen: Derzeit 118 120, 125 In umgekehrter Reihenfolge: Größe 980 970 7 6 6 5 54 43 32 21 19 98 Nächste Seite: wählen * aus tb1 Wo nid < (Wählen Sie nid aus (Wählen Sie nid aus tb1, wobei nid < aktuelle Seite, Mindestwert, Sortieren nach nid desc, Daten pro Seite begrenzen * [Seitenzahl - aktuelle Seite]) A, Sortieren nach A.nid asc, Begrenzung 1) Bestellen bis nid desc Grenze 10; wählen * aus tb1 Wo nid < (Wählen Sie nid aus (Wählen Sie nid aus tb1, wo nid < 970, Sortierung nach nid absteigend, Grenze 40) A, Sortierung nach A.nid aufsteigend, Grenze 1) Bestellen bis nid desc Grenze 10; Vorherige Seite: wählen * aus tb1 Wo nid < (Wählen Sie nid aus (Wählen Sie nid aus tb1, wobei nid > aktuelle Seite, Maximalwert, Sortieren nach nid, aufsteigende Grenze, Daten pro Seite * [aktuelle Seite – Seitenzahl]) A, Sortieren nach A.nid, aufsteigende Grenze 1) Bestellen bis nid desc Grenze 10; wählen * aus tb1 Wo nid < (wählen Sie nid aus (wählen Sie nid aus tb1, wo nid > 980, Sortierung nach nid aufsteigend, Grenze 20) A, Sortierung nach A.nid absteigend, Grenze 1) Bestellen bis nid desc Grenze 10; Oben geht es ausschließlich um die Methode zur Implementierung von Paging in MySQL, die dieses Mal vorgestellt wird. Vielen Dank für Ihr Lernen und Ihre Unterstützung für 123WORDPRESS.COM. Das könnte Sie auch interessieren:
|
<<: Zusammenfassung der Wissenspunkte zu den grundlegenden Attributen von Linux-Dateien
>>: Eine kurze Analyse von Event Bubbling und Event Capture in js
1. Umgebungsbeschreibung (1) CentOS-7-x86_64, Ker...
Inhaltsverzeichnis Erstellen eines Layouts CSS-St...
Um die Speicherung und den Zugriff auf Dateien zu...
Um einen Windows Forms ähnlichen Effekt zu erziel...
HTML besteht aus Tags und Attributen, die zusamme...
Als ich kürzlich das Intranet-Portal änderte, sti...
Eine Vektorwelle <svg viewBox="0 0 560 20...
Ich habe viel online gesucht und festgestellt, da...
1. Rufen Sie die offizielle Docker-Website auf Ge...
Container sind ein weiteres Kernkonzept von Docke...
Dieser Artikel veranschaulicht anhand von Beispie...
Vorwort Es wird gesagt, dass sich die für Betrieb...
CSS: 1. <link type="text/css" href=&q...
Inhaltsverzeichnis Die Fallstricke Füllmethode Wa...
Experimentelle Umgebung Apache und Tomcat sind be...