Beschränken Sie die Nutzung Wenn wir Abfrageanweisungen verwenden, müssen wir häufig die ersten oder mittleren Datenzeilen zurückgeben. Was sollten wir jetzt tun? Keine Sorge, MySQL stellt uns bereits eine solche Funktion zur Verfügung. SELECT * FROM Tabelle LIMIT [Offset,] Zeilen | Zeilen OFFSET Offset Mit der LIMIT-Klausel können Sie eine SELECT-Anweisung zwingen, eine bestimmte Anzahl von Datensätzen zurückzugeben. LIMIT akzeptiert ein oder zwei numerische Argumente. Das Argument muss eine ganzzahlige Konstante sein. Wenn zwei Argumente angegeben werden, gibt das erste Argument mysql> SELECT * FROM table LIMIT 5,10; // Zeilen 6-15 abrufen Um alle Zeilen ab einem bestimmten Offset bis zum Ende des Recordset abzurufen, können Sie den zweiten Parameter als -1 angeben: mysql> SELECT * FROM table LIMIT 95,-1; // Rufe die letzten 96 Zeilen ab. Wenn nur ein Argument angegeben wird, gibt es die maximale Anzahl der zurückzugebenden Zeilen an: mysql> SELECT * FROM table LIMIT 5; // Rufe die ersten 5 Zeilen ab Mit anderen Worten: Leistungsanalyse von MySQL-Paging-Abfrageanweisungen MySql-Paging-SQL-Anweisung: Vergleicht man sie mit der TOP-Syntax von MSSQL, ist die LIMIT-Syntax von MySQL viel eleganter. Es ist nur natürlich, es zum Paging zu verwenden. Die grundlegendste Paging-Methode: AUSWÄHLEN ... VON ... WO ... BESTELLEN NACH ... LIMIT ... Bei kleinen und mittleren Datenmengen reicht ein solches SQL aus. Es muss lediglich darauf geachtet werden, dass der Index verwendet wird. Wenn das eigentliche SQL beispielsweise der folgenden Anweisung ähnelt, ist es besser, einen zusammengesetzten Index für die Spalten category_id und id zu erstellen: Kopieren Sie den Code wie folgt: SELECT * FROM Artikel WHERE Kategorie-ID = 123 ORDER BY ID LIMIT 50, 10 Paging-Methode für Unterabfragen: Mit zunehmender Datenmenge erhöht sich auch die Anzahl der Seiten. Das SQL für die nächsten Seiten kann ungefähr wie folgt lauten: Kopieren Sie den Code wie folgt: SELECT * FROM Artikel WHERE Kategorie-ID = 123 ORDER BY ID LIMIT 10000, 10 Kurz gesagt: Je weiter Sie paginieren, An diesem Punkt können wir die Paging-Effizienz durch die Verwendung von Unterabfragen wie folgt verbessern: Wählen Sie * aus Artikeln, wobei id >= (SELECT id FROM articles WHERE category_id = 123 ORDER BY id LIMIT 10000, 1) LIMIT 10 JOIN-Paging-Methode SELECT * FROM `content` AS t1 JOIN (SELECT id FROM `content` ORDER BY id desc LIMIT ".($page-1)*$pagesize.", 1) AS t2 WO t1.id <= t2.id ORDER BY t1.id desc LIMIT $pagesize; Meinen Tests zufolge ist die Effizienz von Join-Paging und Subquery-Paging grundsätzlich gleich, und auch der Zeitaufwand ist grundsätzlich gleich. Erklären Sie die SQL-Anweisung: id select_type Tabellentyp mögliche Schlüssel Schlüssellänge ref Zeilen Extra 1 PRIMÄRES <abgeleitetes2>-System NULL NULL NULL NULL 1 1 PRIMARY t1 Bereich PRIMARY PRIMARY 4 NULL 6264 Verwenden von where 2 ABGELEHNT Inhaltsindex NULL PRIMARY 4 NULL 27085 Index wird verwendet Warum passiert das? Da Unterabfragen auf Indizes ausgeführt werden, normale Abfragen jedoch auf Datendateien, sind Indexdateien im Allgemeinen viel kleiner als Datendateien, sodass Vorgänge effizienter sind. Tatsächlich können Sie ein ähnliches Strategiemuster für die Seitenverwaltung verwenden. Wenn die Anzahl der Seiten beispielsweise weniger als 100 beträgt, verwenden Sie die einfachste Seitenverwaltungsmethode. Wenn die Anzahl der Seiten größer als 100 ist, verwenden Sie die Unterabfrage-Seitenverwaltungsmethode. Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird. Das könnte Sie auch interessieren:
|
<<: Detaillierte Erläuterung des vite2.0-Konfigurationslernens (Typescript-Version)
>>: So richten Sie ein Bereitstellungsprojekt unter einem Linux-System ein
Einige Projekte haben ein relativ einfaches Gesch...
Dieser Artikel stellt hauptsächlich die Beispiela...
Ich glaube, jeder hat JD verwendet. Auf der Homep...
In diesem Artikelbeispiel wird der spezifische Co...
Docker erfreut sich seit zwei Jahren großer Belie...
Code kopieren Der Code lautet wie folgt: <thea...
1. Systemkonfiguration 1. Deaktivieren Sie das Su...
Inhaltsverzeichnis Beispielcode Rendern Code-Anal...
CSS-Schrifteigenschaften definieren die Schriftfa...
Wenn es eine Tabelle mit einem Feld „add_time“ gi...
1. Einleitung Vorher haben wir über das Front-End...
dig - Dienstprogramm zur DNS-Suche Wenn beim Zugr...
Freunde, die Speicherplatz gekauft und Websites er...
Was tun, wenn Sie Ihr Linux/Mac MySQL-Passwort ve...
In diesem Artikelbeispiel wird der spezifische Co...