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

MySQL 8.0.20 Installations- und Konfigurations-Tutorial unter Docker

Docker installiert MySQL Version 8.0.20 zu Ihrer ...

Erklärung zur Änderung des npm Taobao-Spiegels

1. Nutzung auf höchster Ebene 1. Installieren Sie...

Vergleich der Verwendung von EXISTS und IN in MySQL

1. Verwendung: (1) EXISTS-Nutzung Wählen Sie a.ba...

dh Filtersammlung

Der IE hat uns in der frühen Entwicklungsphase Ko...

Tutorial zur HTML-Tabellenauszeichnung (4): Rahmenfarbenattribut BORDERCOLOR

Um die Tabelle zu verschönern, können Sie untersc...

Eine kurze Einführung in die MySQL-Speicher-Engine

1. MySql-Architektur Bevor wir die Speicher-Engin...

So installieren Sie Jenkins auf CentOS 8

Um Jenkins auf CentOS 8 zu installieren, müssen S...

12 nützliche Array-Tricks in JavaScript

Inhaltsverzeichnis Array-Deduplizierung 1. from()...

So passen Sie CSS an den Vollbildmodus des iPhone an

1. Medienabfragemethode /*iPhone X-Anpassung*/ @m...

Zabbix-Überwachungslösung – die neueste offizielle Version 4.4 [empfohlen]

Zabbix 12.10.2019 Chenxin siehe https://www.zabbi...