Verwenden Sie JOIN anstelle von Unterabfragen MySQL unterstützt SQL-Unterabfragen ab Version 4.1. Bei dieser Technik wird mithilfe einer SELECT-Anweisung ein einspaltiges Abfrageergebnis erstellt und dieses Ergebnis dann als Filterbedingung in einer anderen Abfrage verwendet. Wenn wir beispielsweise Kunden löschen möchten, für die in der Tabelle mit den grundlegenden Kundeninformationen keine Bestellungen vorliegen, können wir mithilfe einer Unterabfrage zunächst die Kunden-IDs aller Kunden abrufen, die Bestellungen aus der Tabelle mit den Verkaufsinformationen aufgegeben haben, und das Ergebnis dann an die Hauptabfrage übergeben, wie unten gezeigt: LÖSCHEN AUS Kundeninfo WO Kunden-ID NICHT in (SELECT CustomerID FROM salesinfo ) Durch die Verwendung von Unterabfragen können viele SQL-Operationen, die logischerweise mehrere Schritte erfordern, gleichzeitig abgeschlossen werden. Gleichzeitig werden Transaktions- oder Tabellensperren vermieden und es ist außerdem einfach zu schreiben. In einigen Fällen kann eine Unterabfrage jedoch durch einen effizienteren JOIN ersetzt werden. Angenommen, wir möchten alle Benutzer abrufen, die keine Bestelldatensätze haben, können wir dies mit der folgenden Abfrage erledigen: SELECT * FROM Kundeninfo WO Kunden-ID NICHT in (SELECT CustomerID FROM salesinfo ) Wenn Sie zum Abschließen dieser Abfrage einen JOIN verwenden, ist die Geschwindigkeit wesentlich höher. Insbesondere wenn in der Tabelle „salesinfo“ ein Index für CustomerID vorhanden ist, ist die Leistung besser. Die Abfrage lautet wie folgt: SELECT * FROM Kundeninfo LINKS JOIN salesinfoON customerinfo.CustomerID=salesinfo. Kunden-ID Wobei salesinfo.CustomerID NULL ist JOIN.. ist effizienter, da MySQL keine temporäre Tabelle im Speicher erstellen muss, um diese logische zweistufige Abfrage abzuschließen. Zusammenfassen Dies ist das Ende dieses Artikels über MySQL-Optimierung mit Joins statt Unterabfragen. Er dient nur als Referenz. Etwaige Mängel bitte benennen. Alle sind herzlich eingeladen, sich auszutauschen und zu diskutieren. Vielen Dank, Freunde, für die Unterstützung dieser Site. Das könnte Sie auch interessieren:
|
<<: js canvas realisiert kreisförmige Wasseranimation
>>: Detaillierte Erklärung des Unterschieds zwischen chown- und chmod-Befehlen in Linux
20200804Nachtrag: Der Artikel könnte falsch sein....
Ergebnisse erzielen Schritt 1. Ursprüngliche inde...
In diesem Artikelbeispiel wird der spezifische Co...
1. Umweltvorbereitung 1.MySQL-Installationspfad: ...
MySQL-Zeichenfolgenverkettung, -Abfangen, -Ersetz...
Was ist SSH? Administratoren können sich remote a...
Inhaltsverzeichnis Vorwort Vorteil: Mangel: 1. Re...
Inhaltsverzeichnis Jenkins-Installation Installie...
1. Vorbereitende Schritte (Windows 7 + MySQL-8.0....
Die Datenbankmigration ist ein Problem, auf das w...
Hintergrund nginx-kafka-module ist ein Plug-In fü...
1. MySQL-Installationsverzeichnis Kopieren Sie de...
Wenn das Untermenü der Navigationsleiste rekursiv...
Hintergrund go-fastdfs ist ein verteiltes Dateisy...
1. Zunächst müssen Sie wissen, was den vertikalen ...