Erläuterung der Ausführungspriorität von mySQL-Schlüsselwörtern

Erläuterung der Ausführungspriorität von mySQL-Schlüsselwörtern

Wie unten dargestellt:

aus Tabelle

wobei Bedingung

Gruppieren nach Feld

Virtuelle Tabellen und Felder bilden, Felder aggregieren und hinzufügen

Filterdaten haben

unterscheidbar

Sortieren nach Feld aufsteigend, absteigend

Begrenzung der Anzahl der Einträge

Wählen Sie „Listendatensätze“ aus

Zunächst werden die Daten entsprechend der Where-Einschränkung aus der Tabelle in den Speicher geladen, sodass die Where-Bedingung vor den Daten wirkt. Anschließend werden sie entsprechend dem Feld gruppiert, sodass im Speicher eine virtuelle Tabelle entsteht, die das Feld enthält.

Wenn zu diesem Zeitpunkt eine Aggregatfunktion vorhanden ist, wird zuerst die Aggregatfunktion ausgeführt und das Aggregatfunktionsfeld wird auch der virtuellen Tabelle hinzugefügt. Anschließend wird der Datensatzfilter ausgeführt. Nachdem die Filterung abgeschlossen ist, werden die Daten dedupliziert, sortiert, eingeschränkt und andere Vorgänge ausgeführt, bevor sie angezeigt werden.

Zusatzwissen: Die Ausführungsreihenfolge von mysql where-Bedingungen ist von links nach rechts

Als ich zuvor an dieser Funktion gearbeitet habe, habe ich die drei Bedingungen mit MD5 verschlüsselt, um ein Zeichenfolgenfeld mit eindeutigem Schlüssel zu erhalten, und dieses Feld als eindeutigen Index festgelegt. Ich hoffe, diesen eindeutigen Index bei der Suche verwenden zu können, ohne nach den drei Bedingungen separat suchen zu müssen. Gleichzeitig habe ich die Ersetzungsmethode verwendet, um sicherzustellen, dass beim Aktualisieren der Daten unter denselben drei Bedingungen nur ein Datensatz in der Datenbank vorhanden ist.

Später stellte ich fest, dass die Listenabfrage diese drei Bedingungen erfüllen muss, also musste ich den unique_key links neben die Where-Bedingung setzen, und die Effizienz der Filterung nach unique_key wäre nicht schlecht.

Sie sollten beim Schreiben alle Aspekte der MySQL-Optimierung berücksichtigen.

Die obige Erklärung der Ausführungspriorität von MySQL-Schlüsselwörtern ist alles, was ich mit Ihnen teilen möchte. Ich hoffe, sie kann Ihnen als Referenz dienen. Ich hoffe auch, dass Sie 123WORDPRESS.COM unterstützen werden.

Das könnte Sie auch interessieren:
  • So optimieren Sie die MySQL-Indexfunktion basierend auf dem Schlüsselwort „Explain“
  • Detaillierte Erklärung: Die MySQL-Ausführungsplan-ID ist leer (Schlüsselwort UNION).
  • jq.ajax+php+mysql zur Implementierung einer Fuzzy-Schlüsselwortabfrage (Beispielerklärung)
  • Detaillierte Einführung in das MySQL-Schlüsselwort Distinct
  • MySql-Abfrageanweisung mit mehreren Bedingungen und dem Schlüsselwort „OR“

<<:  Beispielcode für mehrere Elementtabellen, um synchrones Scrollen zu erreichen

>>:  Beschreiben Sie kurz, wie Sie das Tomcat-Image installieren und das Webprojekt in Docker bereitstellen

Artikel empfehlen

Skin-Change-Lösung basierend auf Vue kombiniert mit ElementUI

Inhaltsverzeichnis Vorne geschrieben Lösung 1: Gl...

So blockieren und verbieten Sie Webcrawler im Nginx-Server

Jede Website stößt normalerweise auf viele Crawle...

So zeigen Sie kleine Symbole in der Browsertitelleiste einer HTML-Webseite an

Genau wie dieser Effekt ist auch die Methode sehr...

Nginx' praktische Methode zur Lösung domänenübergreifender Probleme

Trennen Sie Front- und Backend und lösen Sie domä...

9 Tipps zur MySQL-Datenbankoptimierung

Inhaltsverzeichnis 1. Wählen Sie die am besten ge...

JavaScript-Selektorfunktionen querySelector und querySelectorAll

Inhaltsverzeichnis 1. querySelector fragt ein ein...

Detaillierte Erklärung des Vue-Mixins

Inhaltsverzeichnis Lokales Mixin Globale Mixins Z...

IE6 BUG und Fix ist eine vorbeugende Strategie

Originalartikel: Ultimatives IE6-Cheatsheet: So b...

So machen Sie React-Komponenten im Vollbildmodus

einführen Dieser Artikel basiert auf React + antd...

Detaillierte Erklärung der MySQL InnoDB-Indexerweiterung

Indexerweiterung: InnoDB erweitert automatisch je...