Beispielanalyse für MySQL Oracle- und SQL Server-Paging-Abfragen

Beispielanalyse für MySQL Oracle- und SQL Server-Paging-Abfragen

Ich habe vor Kurzem eine einfache Studie zur Datenpaginierungsabfrage von Oracle, MySQL und SQL Server 2005 durchgeführt und die jeweiligen Abfrageanweisungen veröffentlicht, damit jeder sie lernen kann ...

(I) Paging-Abfrage von MySQL

Die Paging-Abfrage von MySQL ist die einfachste. Sie können das Schlüsselwort limit für die Abfrage verwenden. Die allgemeine Abfrageanweisung lautet:

Wählen Sie o.*from(sql) o limitieren Sie den ersten Index, die Seitengröße

Wie im folgenden Screenshot gezeigt, beträgt die Anzahl der pro Seite angezeigten Datensätze 20:

Abfrage (1-20) dieser 20 Datensätze

Abfrage dieser 20 Datensätze (21-40)


Die MySQL-Paging-Abfrage ist so einfach …

(II) Paging-Abfrage von sqlserver2005

Vor SQL Server 2005 wurde das Schlüsselwort top verwendet, um Paging-Abfragen zu implementieren, aber die Effizienz war gering. In SQL Server 2005 und späteren Versionen wird die analytische Funktion row_number() verwendet, um Paging-Abfragen abzuschließen, was die Effizienz erheblich verbessert hat. Die SQL-Anweisung ist jedoch komplizierter. Die allgemeine Formel der Paging-Abfrage lautet wie folgt:

selecttoppageSizeo.*von(selectrow_number()über(orderbyorderColumn)asrownumber,*von(sql)asowhererownumber>ersterIndex;

Schauen Sie sich den Screenshot unten an, es werden 20 Datensätze pro Seite angezeigt:

Abfrage (1-20) dieser 20 Datensätze

Abfrage dieser 20 Datensätze (21-40)

Wenn man die row_number-Funktion in SQL Server kennt, ist die Paginierung einfach ...

(III) Oracle-Paging-Abfrage

Als nächstes konzentrieren wir uns auf die Paging-Abfrage von Oracle. Oracle verfügt über relativ mehr Paging-Abfragemethoden, ROWNUM und row_number(). Heute konzentrieren wir uns hauptsächlich auf zwei Paging-Abfrageanweisungen mit etwas besserer Effizienz.

①ROWNUM-Abfragepaging-Formel:

select*from(selecta.*,ROWNUMrn from(sql)a wobeiROWNUM<=(ersterIndex+Seitengröße))wobeirn>ersterIndex

Der folgende Screenshot zeigt eine auf diese Weise ausgeführte Abfrage:

Abfrage (1-21) dieser 20 Datensätze***** (es gibt keinen Datensatz mit ID=6, daher ist die maximal abgefragte ID 21)



Abfrage (22-41) dieser 20 Datensätze***** (es gibt keinen Datensatz mit ID=6, daher ist die erste abzufragende ID 22 und die maximale ID ist 41)

②Paging-Abfragemethode für die Analysefunktion von row_number():

select*from(select*from(selectt.*,row_number()over(orderbyorderColumn)asrownumberfrom(sql)t) p wobeip.rownumber>firstIndex) wobeirownum<=pageSize

Der folgende Screenshot zeigt den Paging-Abfrageeffekt mit row_number():

Abfrage (1-21) dieser 20 Datensätze***** (es gibt keinen Datensatz mit ID=6, daher ist die maximal abgefragte ID 21)



Abfrage (22-41) dieser 20 Datensätze***** (es gibt keinen Datensatz mit ID=6, daher ist die erste abzufragende ID 22 und die maximale ID ist 41)


In der ROWNUM-Abfragemethode gibt es in der SQL-Anweisung zweiter Ebene ein „ where ROWNUM<(firstIndex+pageSize)order by idasc , das (firstIndex+pageSize) Datensätze aus der Datentabelle abfragt. Wenn dieser Wert also sehr klein ist, ist die Effizienz sehr gut. Wenn dieser Wert bei einem großen Datenformat Tausende beträgt, zum Beispiel: select* from wyuse where rownum<(5000) order by idasc , werden zu Beginn 5000 Datensätze ausgewählt und die Effizienz ist natürlich viel langsamer...

Zusammenfassen

Oben ist die Einführung der MySQL Oracle- und SQL Server-Paging-Abfrage durch den Herausgeber. Ich hoffe, es wird für alle hilfreich sein. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und der Herausgeber wird Ihnen rechtzeitig antworten. Ich möchte auch allen für ihre Unterstützung der Website 123WORDPRESS.COM danken!

Das könnte Sie auch interessieren:
  • Lösung für das Paging-Fehlerproblem bei MySQL-Eins-zu-viele-Assoziationsabfragen
  • MySQL-Lösung zur Datenpaging-Abfrageoptimierung auf Millionenebene
  • Optimierung der Leistung von Paging-Abfragen für MySQL mit mehreren zehn Millionen Daten
  • Detaillierte Erläuterung der MySQL-Limitnutzung und Leistungsanalyse von Paging-Abfrageanweisungen
  • Detaillierte Erläuterung der Mysql Limit Paging-Abfrageoptimierung
  • Einführung in die Unterschiede zwischen Paging-Abfrageanweisungen in Oracle, MySQL und SqlServe
  • Detaillierte Erläuterung der Paging-Abfragemethoden in MySQL, MSSQL und Oracle
  • Vergleich zweier Lösungen für Paging-Abfragen in MySQL
  • Beispiele für Paging-Abfragen für drei Datenbanken: Oracle, MySQL und SqlServer
  • Mehrere Implementierungsmethoden sowie Vor- und Nachteile der SQL-Paging-Abfrage in MySQL

<<:  So verwenden Sie die JSZip-Komprimierung in CocosCreator

>>:  Tomcat verwendet Log4j zur Ausgabe des catalina.out-Protokolls

Artikel empfehlen

So verwenden Sie Homebrew unter Linux richtig

Viele Leute verwenden Linux Homebrew. Hier sind d...

So importieren Sie eine JS-Konfigurationsdatei auf den Vue-Server

Inhaltsverzeichnis Hintergrund erreichen Ergänzun...

So erreichen Sie eine nahtlose Token-Aktualisierung

Inhaltsverzeichnis 1. Nachfrage Methode 1 Methode...

HTML-Grundlagen: HTML-Inhaltsdetails

Beginnen wir mit dem Körper: Wenn Sie eine Webseit...

Vermeidung von durch Closures verursachten Problemen in JavaScript

Über let, um Probleme durch Schließung zu vermeid...

Beispiel für die gemeinsame Nutzung von Anker-Tags in HTML

Verwendung von Anker-Tags: Als Ankerlink wird ein ...

So schreiben Sie asynchrone Aufgaben in modernem JavaScript

Vorwort In diesem Artikel untersuchen wir die Ent...

CSS erzielt den „Bottom Absorption“-Effekt im Footer

Wir stoßen häufig auf dieses Problem: Wie kann ma...

Eine Sammlung möglicher Probleme bei der Migration von SQLite3 nach MySQL

Kurzbeschreibung Passend für Leser: Mobile Entwic...

Lösen Sie das Problem der Docker-Protokollmontage

Der Schlüssel ist, dass der lokale Server keine S...

Bietet hilfreiche Vorschläge zur Verbesserung des Website-Designs

<br />Gestalten Sie Ihre Website wissenschaf...

So implementieren Sie einen Kennwortstärke-Detektor in React

Inhaltsverzeichnis Vorwort verwenden Komponentens...