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 den Linux-Befehl tr

01. Befehlsübersicht Der Befehl tr kann Zeichen a...

Verwendung des Linux-Befehls ls

1. Einleitung Der Befehl ls dient zum Anzeigen de...

Proxy realisiert das Prinzip der bidirektionalen Bindung von Vue3-Daten

Inhaltsverzeichnis 1. Vorteile von Proxy gegenübe...

Der Aufruf der Suchmaschine auf der Seite erfolgt am Beispiel von Baidu

Heute ist mir plötzlich eingefallen, dass es cool ...

MySQL implementiert den Vorgang zum Festlegen mehrerer Primärschlüssel

Benutzertabelle, ID-Nummer muss eindeutig sein, M...

Funktionen in TypeScript

Inhaltsverzeichnis 1. Funktionsdefinition 1.1 Fun...

Detaillierte Erklärung des Fischschwarm-Algorithmus im CocosCreator-Spiel

Vorwort Ich wollte vor kurzem CocosCreator lernen...

Einige Tipps zum Website-Design

Tatsächlich haben wir in letzter Zeit viel über W...

Detaillierte Erklärung der MySQL-Berechtigungen und -Indizes

MySQL-Berechtigungen und Indizes Der höchste Benu...

Regeln für die Gestaltung des Anmeldeformulars

Ich habe „Patterns for Sign Up & Ramp Up“ vor ...

Ein paar Dinge zu favicon.ico (am besten im Stammverzeichnis ablegen)

Öffnen Sie eine beliebige Webseite, zum Beispiel ...

Detaillierte Erklärung verschiedener HTTP-Rückgabestatuscodes

Wenn an Ihren Server eine Anforderung zum Anzeige...

jQuery realisiert den Bildverfolgungseffekt

In diesem Artikel wird der spezifische Code von j...

Vue implementiert Countdown-Funktion

In diesem Artikelbeispiel wird der spezifische Co...