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

So verwenden Sie Nginx als Proxy-Cache

Der Zweck der Cache-Verwendung besteht darin, den...

Verwendung von Vue3-Seiten, Menüs und Routen

Inhaltsverzeichnis 1. Klicken Sie auf das Menü, u...

Nginx definiert die Zugriffsmethode für Domänennamen

Ich erstelle derzeit Nginx, kann aber nicht über ...

Detaillierte Erklärung der Entwurfsmuster des JavaScript-Frameworks

Inhaltsverzeichnis mvc MVP mvv Die Quelle von Vue...

Einfacher Vergleich von Meta-Tags in HTML

Das Meta-Tag wird verwendet, um Dateiinformationen...

MySQL 8.0 Upgrade-Erfahrung

Inhaltsverzeichnis Vorwort 1. Deinstallieren Sie ...

CSS-Implementierungscode für horizontale und vertikale Fortschrittsbalken

Manchmal ist es schön, ein paar nette Scrollbar-E...

Detaillierte Analyse von GUID-Anzeigeproblemen in Mongodb

Finden Sie das Problem Ich habe kürzlich den Spei...

Zusammenfassung der 7 Fallstricke bei der Verwendung von React

Inhaltsverzeichnis 1. Komponentenaufblähung 2. Än...

Zusammenfassung von 10 erstaunlichen Tricks von Element-UI

Inhaltsverzeichnis el-scrollbar Bildlaufleiste el...

Detaillierte Erklärung der MySQL-Dreiwertelogik und NULL

Inhaltsverzeichnis Was ist NULL Zwei Arten von NU...