Detaillierte Erklärung: Die MySQL-Ausführungsplan-ID ist leer (Schlüsselwort UNION).

Detaillierte Erklärung: Die MySQL-Ausführungsplan-ID ist leer (Schlüsselwort UNION).

Einführung

Während des Arbeitsprozesses kommt es mitunter zu Störungen bei langsamen Abfragen. Zur Optimierung von MySQL-SQL-Anweisungen stellt MySQL selbst ein leistungsstarkes EXPLAIN-Schlüsselwort für die Abfrageanalyse und den Ausführungsplan bereit. Dieser Artikel stellt hauptsächlich den relevanten Inhalt zur leeren MySQL-Ausführungsplan-ID (Schlüsselwort UNION) vor und gibt ihn zu Ihrer Referenz und zum Lernen weiter. Werfen wir einen Blick auf die ausführliche Einführung.

Der UNION-Operator wird verwendet, um die Ergebnismengen von zwei oder mehr SELECT-Anweisungen zu kombinieren. Ich habe beispielsweise zwei Tabellen. Tabelle 1 erfasst die Daten der männlichen Mitarbeiter des Unternehmens, einschließlich Alter, Name und Position. Tabelle 2 erfasst die Daten der weiblichen Angestellten im Unternehmen, einschließlich Feldern wie Name, Privatadresse und Mobiltelefonnummer. Dieses Mal möchten wir die Namenssammlung in den beiden Tabellen basierend auf bestimmten Bedingungen abfragen. Das Schlüsselwort UNION wird verwendet.

UNION kann mehrere Felder abfragen, aber die SELECT-Anweisung muss die gleiche Spaltenanzahl haben. Spalten müssen außerdem ähnliche Datentypen aufweisen. Außerdem muss die Reihenfolge der Spalten in jeder SELECT-Anweisung gleich sein.

Grammatik

 SELECT Spaltenname(n) FROM Tabellenname1
 UNION
 SELECT Spaltenname(n) FROM Tabellenname2

Der UNION-Operator dedupliziert den Ergebnisset. Wenn doppelte Werte zulässig sind, können Sie UNION ALL verwenden. Außer der Deduplizierungsfunktion gibt es zwischen den beiden keinen weiteren Unterschied.

Beispiele

Das Beispiel hier erstellt basierend auf der Einführung zwei Tabellen und führt entsprechende Operationen aus.

Erstellen Sie zunächst zwei Tabellen, user1 und user2. Die Anweisungen zum Erstellen der Tabellen lauten wie folgt:

-- Tabellenanweisung erstellen CREATE TABLE user1 (
 Ich würde INT,
 Alter INT,
 Name Varchar (5),
 Position VARCHAR (8)
);
CREATE TABLE Benutzer2 (
 Ich würde INT,
 Name VARCHAR(5),
 Adresse VARCHAR(50),
 Telefonnummer VARCHAR(20)
)

Zweitens fügen Sie die entsprechenden Daten ein. Das SQL lautet wie folgt:

-- Dateneinfügeanweisung INSERT INTO user1
WERTE
 (
  1,
  20,
  'Zhang San',
  „Technischer Direktor“
 );

INSERT INTO Benutzer1
WERTE
 (
  2,
  20,
  'Li Si',
  'Produktmanager'
 );

INSERT INTO Benutzer1
WERTE
 (
  3,
  20,
  'Wang Wu',
  „Betriebsleiter“
 );

INSERT INTO Benutzer1
WERTE
 (
  4,
  20,
  'Zhao Liu',
  'Logistikmanager'
 ) INSERT INTO Benutzer2 (
  Ausweis,
  NAME,
  Adresse,
  Telefonnummer
 )
WERTE
 (
  1,
  'Zhenzhen',
  "Peking",
  '155332211'
 );

INSERT INTO Benutzer2 (
 Ausweis,
 NAME,
 Adresse,
 Telefonnummer
)
WERTE
 (
  2,
  'Lian Lian',
  "Schanghai",
  '155332211'
 );

INSERT INTO Benutzer2 (
 Ausweis,
 NAME,
 Adresse,
 Telefonnummer
)
WERTE
 (
  3,
  'Liebe Liebe',
  "Shenzhen",
  '155332211'
 );

Führen Sie abschließend die UNION-Anweisung aus, um abzufragen

 -- UNION-Anweisung SELECT NAME FROM user1
 UNION
 Wählen Sie Name aus Benutzer2

Nachdem der Code ausgeführt wurde, sind die Ergebnisse wie folgt:

Die Spaltennamen im Ergebnissatz sind hier die Spaltennamen der ersten Select-Anweisung der UNION-Anweisung (user1 ist NAME und user2 ist Name).

Bei der Erklärung ist die ID null

Beim Ausführen des UNION-Ausführungsplans ist die Ausführungs-ID der letzten Operation zum Zusammenführen des Ergebnissatzes null. Darüber hinaus ist der Select_Type der ersten Ausführung eine einfache Abfrage, die zweite und alle nachfolgenden Abfragen sind UNION und der Select_Type der abschließenden Zusammenführung ist UNION RESULT.

Der Ausführungsplancode lautet wie folgt:

ERKLÄREN SIE NAME AUSWÄHLEN VON BENUTZER1
UNION
Wählen Sie Name aus Benutzer2

Die Ergebnisse sind wie folgt:

Zusammenfassen

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels einen gewissen Lernwert für Ihr Studium oder Ihre Arbeit hat. Wenn Sie Fragen haben, können Sie eine Nachricht hinterlassen. Vielen Dank für Ihre Unterstützung von 123WORDPRESS.COM.

Das könnte Sie auch interessieren:
  • Detaillierte Erklärung des MySQL-Ausführungsplans
  • Detaillierte Analyse des Explain-Ausführungsplans in MySQL
  • Detaillierte Analyse von MySQL-Ausführungsplänen
  • So analysieren Sie den SQL-Ausführungsplan in MySQL mit EXPLAIN
  • Detaillierte Erläuterung des Ausführungsplans, Beispiel für einen Befehl in MySQL
  • So verwenden Sie „Explain“, um den SQL-Ausführungsplan in MySql abzufragen
  • Einführung in den MySQL-Ausführungsplan
  • MySQL erklärt den Ausführungsplan
  • Erfahren Sie mehr über den MySQL-Ausführungsplan

<<:  Zusammenfassung von 6 Lösungen zur Implementierung des Singleton-Modus in JS

>>:  So begrenzen Sie die Zugriffshäufigkeit, die Downloadrate und die Anzahl gleichzeitiger Verbindungen in Nginx

Artikel empfehlen

VUE implementiert einen Beispielcode für das Spiel Flappy Bird

Flappy Bird ist ein sehr einfaches kleines Spiel,...

Einige Frontend-Grundlagen (HTML, CSS) aus der Praxis

1. Die Div-CSS-Maushandform ist Cursor:Zeiger; 2. ...

Beispielcode zur Implementierung einer Pivot-Tabelle in MySQL/MariaDB

Im vorherigen Artikel wurden mehrere Methoden zur...

Detaillierte Erklärung der Getter-Verwendung in vuex

Vorwort Mit Vuex können wir im Store „Getter“ def...

Einführung in die Verwendung von Requisiten in Vue

Vorwort: In Vue können Props verwendet werden, um...

Zusammenfassung der Erfahrungen mit der Web-Frontend-Entwicklung

XML-Dateien sollten so weit wie möglich in UTF-8 ...

Vue kapselt die öffentliche Funktionsmethode zum Exportieren von Excel-Daten

vue+element UI kapselt eine öffentliche Funktion ...

Lösung zur Installation von Vim im Docker-Container

Inhaltsverzeichnis Der Anfang der Geschichte Inst...

Die Einhandregel von WEB 2.0

<br />Mein vorheriger Artikel über CSS wurde...

Slot-Anordnung und Nutzungsanalyse in Vue

Die Betriebsumgebung dieses Tutorials: Windows 7-...

So installieren Sie Tomcat-8.5.39 auf centos7.6

So installieren Sie Tomcat-8.5.39 auf CentOS 7.6....