Heim Datenbank MySQL-Tutorial Ausführliche Erläuterung der MySQL-Limit-Nutzung und Leistungsanalyse von Paging-Abfrageanweisungen

Ausführliche Erläuterung der MySQL-Limit-Nutzung und Leistungsanalyse von Paging-Abfrageanweisungen

Mar 29, 2017 pm 01:24 PM

Dieser Artikel stellt hauptsächlich die detaillierte Verwendung des Limits von MySQL und die Leistungsanalyse der Paging--Abfrage--Anweisung vor, die bestimmte Funktionen hat Referenzwert, interessierte Freunde können darauf verweisen.

Nutzung einschränken

Wenn wir Abfrageanweisungen verwenden, müssen wir häufig die ersten Datenzeilen oder die mittleren Datenzeilen zurückgeben zu diesem Zeitpunkt tun? Keine Sorge, MySQL stellt uns bereits eine solche Funktion zur Verfügung.

SELECT * FROM table LIMIT [offset,] rows | rows OFFSET offset
Nach dem Login kopieren

Mit der LIMIT-Klausel kann eine SELECT-Anweisung gezwungen werden, eine bestimmte Anzahl von Datensätzen zurückzugeben. LIMIT akzeptiert ein oder zwei numerische Argumente. Das Argument muss eine GanzzahlKonstante sein. Wenn zwei Parameter angegeben werden, gibt der erste Parameter das erste 偏移量 an, das die Datensatzzeile zurückgibt, und der zweite Parameter gibt die maximale Anzahl der zurückzugebenden Datensatzzeilen an. 初始记录行的偏移量是 0(而不是 1): Aus Kompatibilitätsgründen mit PostgreSQL unterstützt MySQL auch die Syntax: LIMIT # OFFSET #.

mysql> SELECT * FROM table LIMIT 5,10; // 检索记录行 6-15
Nach dem Login kopieren

Um alle Zeilen von einem Offset bis zum Ende des Recordsets abzurufen, können Sie -1 als zweiten Parameter angeben:

mysql> SELECT * FROM table LIMIT 95,-1; // 检索记录行 96-last.
Nach dem Login kopieren

Wenn nur Ein Parameter, der das Maximum darstellt Anzahl der zurückgegebenen Datensatzzeilen:

mysql> SELECT * FROM table LIMIT 5; //检索前 5 个记录行
Nach dem Login kopieren

Mit anderen Worten: LIMIT n entspricht LIMIT 0,n.

Leistungsanalyse der MySQL-Paging-Abfrageanweisung

MySql-Paging-SQL-Anweisung im Vergleich mit der TOP-Syntax von MSSQL und dann mit der LIMIT-Syntax von MySQL ist viel eleganter. Es ist natürlich, es für die Paginierung zu verwenden.

Die grundlegendste Paging-Methode:

SELECT ... FROM ... WHERE ... ORDER BY ... LIMIT ...
Nach dem Login kopieren

Bei kleinen und mittleren Datenmengen reicht ein solches SQL aus. Das einzige Problem, das beachtet werden muss Stellen Sie sicher, dass es verwendet wird Index: Wenn die eigentliche SQL beispielsweise der folgenden Anweisung ähnelt, ist es besser, einen zusammengesetzten Index für die Spalten „category_id“ und „id“ einzurichten:

The Der Code lautet wie folgt:

SELECT * FROM articles WHERE category_id = 123 ORDER BY id LIMIT 50, 10
Nach dem Login kopieren

Paging-Methode der Unterabfrage:

Mit zunehmender Datenmenge nimmt die Anzahl der Seiten zu Einige Seiten können ähnlich sein:

Der Code lautet wie folgt:

SELECT * FROM articles WHERE category_id = 123 ORDER BY id LIMIT 10000, 10
Nach dem Login kopieren

Kurz gesagt bedeutet es eine Paginierung weiter hinten, LIMIT语句的偏移量就会越大,速度也会明显变慢.

Zu diesem Zeitpunkt können wir die Paging-Effizienz durch Unterabfragen verbessern, ungefähr wie folgt:

SELECT * FROM articles WHERE id >= 
(SELECT id FROM articles WHERE category_id = 123 ORDER BY id LIMIT 10000, 1) LIMIT 10
Nach dem Login kopieren

JOIN-Paging-Methode

SELECT * FROM `content` AS t1 
JOIN (SELECT id FROM `content` ORDER BY id desc LIMIT ".($page-1)*$pagesize.", 1) AS t2 
WHERE t1.id <= t2.id ORDER BY t1.id desc LIMIT $pagesize;
Nach dem Login kopieren

Nach mir Laut Zum Testen ist die Effizienz von Join-Paging und Subquery-Paging im Wesentlichen auf dem gleichen Niveau und der Zeitaufwand ist im Wesentlichen gleich. SQL-Anweisung erklären:

id select_type table type possible_keys key key_len ref rows Extra
1 PRIMARY <derived2> system NULL NULL NULL NULL 1 
1 PRIMARY t1 range PRIMARY PRIMARY 4 NULL 6264 Using where
2 DERIVED content index NULL PRIMARY 4 NULL 27085 Using index
Nach dem Login kopieren

Warum passiert das? Da die Unterabfrage für den Index und die normale Abfrage für die Datendatei abgeschlossen wird, ist die Indexdatei im Allgemeinen viel kleiner als die Datendatei, sodass der Vorgang effizienter ist.

Sie können tatsächlich eine Methode ähnlich dem Strategiemodus verwenden, um das Paging zu handhaben. Wenn beispielsweise festgestellt wird, dass es innerhalb von hundert Seiten liegt, verwenden Sie die einfachste Paging-Methode größer als einhundert Seiten ist, dann Paginierung mit Unterabfrage .

Das obige ist der detaillierte Inhalt vonAusführliche Erläuterung der MySQL-Limit-Nutzung und Leistungsanalyse von Paging-Abfrageanweisungen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Java-Tutorial
1659
14
PHP-Tutorial
1257
29
C#-Tutorial
1231
24
MySQLs Rolle: Datenbanken in Webanwendungen MySQLs Rolle: Datenbanken in Webanwendungen Apr 17, 2025 am 12:23 AM

Die Hauptaufgabe von MySQL in Webanwendungen besteht darin, Daten zu speichern und zu verwalten. 1.Mysql verarbeitet effizient Benutzerinformationen, Produktkataloge, Transaktionsunterlagen und andere Daten. 2. Durch die SQL -Abfrage können Entwickler Informationen aus der Datenbank extrahieren, um dynamische Inhalte zu generieren. 3.Mysql arbeitet basierend auf dem Client-Server-Modell, um eine akzeptable Abfragegeschwindigkeit sicherzustellen.

So starten Sie MySQL von Docker So starten Sie MySQL von Docker Apr 15, 2025 pm 12:09 PM

Der Prozess des Startens von MySQL in Docker besteht aus den folgenden Schritten: Ziehen Sie das MySQL -Image zum Erstellen und Starten des Containers an, setzen

Beispiel für Laravel -Einführung Beispiel für Laravel -Einführung Apr 18, 2025 pm 12:45 PM

Laravel ist ein PHP -Framework zum einfachen Aufbau von Webanwendungen. Es bietet eine Reihe leistungsstarker Funktionen, darunter: Installation: Installieren Sie die Laravel CLI weltweit mit Komponisten und erstellen Sie Anwendungen im Projektverzeichnis. Routing: Definieren Sie die Beziehung zwischen der URL und dem Handler in Routen/Web.php. Ansicht: Erstellen Sie eine Ansicht in Ressourcen/Ansichten, um die Benutzeroberfläche der Anwendung zu rendern. Datenbankintegration: Bietet eine Out-of-the-Box-Integration in Datenbanken wie MySQL und verwendet Migration, um Tabellen zu erstellen und zu ändern. Modell und Controller: Das Modell repräsentiert die Datenbankentität und die Controller -Prozesse HTTP -Anforderungen.

Lösen Sie das Datenbankverbindungsproblem: Ein praktischer Fall der Verwendung von Minii/DB -Bibliothek Lösen Sie das Datenbankverbindungsproblem: Ein praktischer Fall der Verwendung von Minii/DB -Bibliothek Apr 18, 2025 am 07:09 AM

Bei der Entwicklung einer kleinen Anwendung stieß ich auf ein kniffliges Problem: die Notwendigkeit, eine leichte Datenbankbetriebsbibliothek schnell zu integrieren. Nachdem ich mehrere Bibliotheken ausprobiert hatte, stellte ich fest, dass sie entweder zu viel Funktionalität haben oder nicht sehr kompatibel sind. Schließlich fand ich Minii/DB, eine vereinfachte Version basierend auf YII2, die mein Problem perfekt löste.

MySQL und PhpMyAdmin: Kernfunktionen und Funktionen MySQL und PhpMyAdmin: Kernfunktionen und Funktionen Apr 22, 2025 am 12:12 AM

MySQL und PhpMyAdmin sind leistungsstarke Datenbankverwaltungs -Tools. 1) MySQL wird verwendet, um Datenbanken und Tabellen zu erstellen und DML- und SQL -Abfragen auszuführen. 2) PHPMYADMIN bietet eine intuitive Schnittstelle für Datenbankverwaltung, Tabellenstrukturverwaltung, Datenoperationen und Benutzerberechtigungsverwaltung.

MySQL gegen andere Programmiersprachen: Ein Vergleich MySQL gegen andere Programmiersprachen: Ein Vergleich Apr 19, 2025 am 12:22 AM

Im Vergleich zu anderen Programmiersprachen wird MySQL hauptsächlich zum Speichern und Verwalten von Daten verwendet, während andere Sprachen wie Python, Java und C für die logische Verarbeitung und Anwendungsentwicklung verwendet werden. MySQL ist bekannt für seine hohe Leistung, Skalierbarkeit und plattformübergreifende Unterstützung, die für Datenverwaltungsanforderungen geeignet sind, während andere Sprachen in ihren jeweiligen Bereichen wie Datenanalysen, Unternehmensanwendungen und Systemprogramme Vorteile haben.

Laravel Framework Installationsmethode Laravel Framework Installationsmethode Apr 18, 2025 pm 12:54 PM

Artikelzusammenfassung: Dieser Artikel enthält detaillierte Schritt-für-Schritt-Anweisungen, um die Leser zu leiten, wie das Laravel-Framework einfach installiert werden kann. Laravel ist ein leistungsstarkes PHP -Framework, das den Entwicklungsprozess von Webanwendungen beschleunigt. Dieses Tutorial deckt den Installationsprozess von den Systemanforderungen bis zur Konfiguration von Datenbanken und das Einrichten von Routing ab. Durch die Ausführung dieser Schritte können die Leser schnell und effizient eine solide Grundlage für ihr Laravel -Projekt legen.

MySQL gegen andere Datenbanken: Vergleich der Optionen MySQL gegen andere Datenbanken: Vergleich der Optionen Apr 15, 2025 am 12:08 AM

MySQL eignet sich für Webanwendungen und Content -Management -Systeme und ist beliebt für Open Source, hohe Leistung und Benutzerfreundlichkeit. 1) Im Vergleich zu Postgresql führt MySQL in einfachen Abfragen und hohen gleichzeitigen Lesevorgängen besser ab. 2) Im Vergleich zu Oracle ist MySQL aufgrund seiner Open Source und niedrigen Kosten bei kleinen und mittleren Unternehmen beliebter. 3) Im Vergleich zu Microsoft SQL Server eignet sich MySQL besser für plattformübergreifende Anwendungen. 4) Im Gegensatz zu MongoDB eignet sich MySQL besser für strukturierte Daten und Transaktionsverarbeitung.

See all articles