MySQL verwendet ein Limit, um die Beispielmethode für Paging zu implementieren

MySQL verwendet ein Limit, um die Beispielmethode für Paging zu implementieren

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:
  • Lösung zur Datenduplizierung bei Verwendung von Limit+Order By in der MySql-Paging
  • Warum wird die MySQL-Paging-Funktion bei Verwendung von Limits immer langsamer?
  • Beschreibung des MySQL-Optimierungsparameters query_cache_limit
  • Detaillierte Erläuterung der Fallstricke beim Mischen von MySQL-Order-By und Limit
  • Gründe und Optimierungslösungen für langsames MySQL-Limit-Paging mit großen Offsets
  • Mysql-Sortierung und Paginierung (Order by & Limit) und vorhandene Fallstricke
  • So verwenden Sie das MySQL-Limit und lösen das Problem großer Paging-Aufgaben
  • Eine kurze Diskussion über die Leistungsprobleme des MySQL-Paging-Limits
  • MySQL-Limit-Leistungsanalyse und -Optimierung
  • Analyse der schlechten Leistung, die durch einen großen LIMIT-Offset in der MySQL-Abfrage verursacht wird
  • Warum wirkt sich die Verwendung von Limits in MySQL auf die Leistung aus?

<<:  Zusammenfassung der Wissenspunkte zu den grundlegenden Attributen von Linux-Dateien

>>:  Eine kurze Analyse von Event Bubbling und Event Capture in js

Artikel empfehlen

Häufig verwendete HTML-Format-Tags_Powernode Java Academy

1. Titel HTML definiert sechs <h>-Tags: <...

Bootstrap 3.0 Studiennotizen Rastersystemprinzip

Durch die kurze Einführung in den beiden vorherig...

Was Sie beim Schreiben selbstschließender XHTML-Tags beachten sollten

Das img-Tag in XHTML ist ein sogenanntes selbstsc...

Analyse der MySql-Indexnutzungsstrategie

MySql-Index Indexvorteile 1. Sie können die Einde...

MySQL-Serververbindung, Trennung und cmd-Bedienung

Verwenden Sie den Befehl mysql, um eine Verbindun...

Eine kurze Einführung in die MySQL MyCat-Middleware

1. Was ist mycat Ein vollständig Open Source-Groß...

Hyperlink-Tag für HTML-Webseiten

Lernprogramm zum Hyperlink-Tag einer HTML-Webseit...

VSCode-Entwicklung UNI-APP Konfigurations-Tutorial und Plugin

Inhaltsverzeichnis Vorne geschrieben Vorsichtsmaß...

Detaillierte Erklärung der schmerzlosen Token-Aktualisierungsmethode von Uniapp

Wenn das Front-End die Schnittstelle anfordert, w...

Alibaba Cloud Server Ubuntu Konfigurations-Tutorial

Da für den Import benutzerdefinierter Ubuntu-Imag...

Grundlegende Syntax und Funktionsweise der MySQL-Datenbank

Grundlegende Syntax der MySQL-Datenbank DDL-Opera...

Details der benutzerdefinierten Vue-Anweisung

Inhaltsverzeichnis 1. Hintergrund 2. Lokale benut...

Detaillierte Analyse klassischer Fragen zu JavaScript-Rekursionsfällen

Inhaltsverzeichnis Was ist Rekursion und wie funk...