Inhaltsverzeichnis
1. MySQL-Datenbank-JOIN-Verbindung
1, Inner Join" >1, Inner Join
2, LEFT JOIN" >2, LEFT JOIN
3. RIGHT JOIN" >3. RIGHT JOIN
2. MySQL-Datenbank-Hash-Join
In MySQL 8.0 optimiert der Optimierer jedoch automatisch die In-Unterabfrage in einen JOIN-Ausführungsplan, was die Leistung erheblich verbessert. Wir müssen uns nur auf den SQL-Ausführungsplan konzentrieren. Wenn die beiden Ausführungspläne gleich sind, gibt es keinen Leistungsunterschied.
Heim Datenbank MySQL-Tutorial Zusammenfassung der MySQL-Prinzipien: Left Join, Right Join, Inner Join und Hash Join

Zusammenfassung der MySQL-Prinzipien: Left Join, Right Join, Inner Join und Hash Join

Nov 10, 2022 pm 04:30 PM
mysql 数据库

Dieser Artikel vermittelt Ihnen relevantes Wissen über MySQL. Er stellt hauptsächlich die Arbeitsprinzipien von Left Join, Right Join, Inner Join und Hash Join vor, analysiert den Unterschied zwischen Unterabfrage und Join und bietet einige Informationen basierend auf dem, was Sie gelernt haben. Werfen wir einen Blick auf die praktischen Fähigkeiten, die bei der Arbeit erlernt werden müssen. Ich hoffe, dass es für alle hilfreich ist.

Zusammenfassung der MySQL-Prinzipien: Left Join, Right Join, Inner Join und Hash Join

Empfohlenes Lernen: MySQL-Video-Tutorial

1. MySQL-Datenbank-JOIN-Verbindung

Das Erstellen von Indizes für mehrere Tabellen sowie mehrere JOIN- und Unterabfrageanweisungen für Tabellen sind relativ schwierig. Viele Entwickler glauben unbewusst, dass JOIN die Leistungseffizienz von SQL verringert, und teilen daher Multi-Table-SQL in Einzeltabellenabfragen auf, weil sie denken, dass dies die Effizienz der SQL-Ausführung beeinträchtigen wird, da Entwickler den JOIN-Implementierungsprozess nicht verstehen.

Tabellenzuordnungen zwischen Verknüpfungen verwenden Indizes für den Abgleich, vorausgesetzt, die Tabellen R und S sind verknüpft.

Tabelle R wird als Fahrtabelle bezeichnet. Die durch die WHERE-Bedingung in Tabelle R gefilterten Daten werden einzeln im entsprechenden Index von Tabelle S abgefragt. Wenn die Datenmenge der Tabelle R nicht groß ist, ist der obige Algorithmus sehr effektiv.

Welche Tabelle ist die Treibertabelle für jeden der folgenden drei JOIN-Typen:

SELECT * FROM R LEFT JOIN S ON R.x = S.x WEHRE ...
SELECT * FROM R RIGHT JOIN S ON R.x = S.x WEHRE ...
SELECT * FROM R INNER JOIN S ON R.x = S.x WEHRE ...
Nach dem Login kopieren

1, Inner Join

Für INNER JOIN kann die Treibertabelle Tabelle R oder Tabelle S sein. Zeigt die von der linken und rechten Seite gemeinsam genutzten Daten an.

In diesem Szenario wird derjenige, der die kleinere Datenmenge abfragen muss, die Tabelle steuern. Schauen wir uns die folgenden Beispiele an

SELECT * FROM R INNER JOIN S  ON R.x = S.x  WHERE R.y = ? AND S.z = ?
Nach dem Login kopieren

2, LEFT JOIN

Für den obigen Left Join ist die treibende Tabelle die linke Tabelle R; im rechten Join ist die treibende Tabelle die rechte Tabelle S. Dies ist der JOIN-Typ, der bestimmt, ob die Daten in der linken oder rechten Tabelle abgefragt werden müssen.

Gibt alle Datensätze in der linken Tabelle und Datensätze mit gleichen Join-Feldern in der rechten Tabelle zurück. Gibt alle Zeilen der linken Tabelle zurück, auch wenn in der rechten Tabelle keine Übereinstimmung vorhanden ist.

SELECT * FROM R LEFT JOIN S  ON R.x = S.x  WHERE R.y = ? AND S.z = ?
Nach dem Login kopieren

3. RIGHT JOIN

Für den obigen Left Join ist die treibende Tabelle die linke Tabelle R; im rechten Join ist die treibende Tabelle die rechte Tabelle S. Dies ist der JOIN-Typ, der bestimmt, ob die Daten in der linken oder rechten Tabelle abgefragt werden müssen.

Gibt alle Datensätze in der rechten Tabelle und Datensätze mit gleichen Join-Feldern in der linken Tabelle zurück. Gibt alle Zeilen der rechten Tabelle zurück, auch wenn in der linken Tabelle keine Übereinstimmung vorhanden ist.

SELECT * FROM R RIGHT JOIN S  ON R.x = S.x  WHERE R.y = ? AND S.z = ?
Nach dem Login kopieren

2. MySQL-Datenbank-Hash-Join

1. Was ist Hash-Join? Der zweite JOIN in MySQL ist Hash-JOIN, der verwendet wird, wenn die Verbindungsbedingung zwischen zwei Tabellen keinen Index hat. Algorithmus. Ist es in Ordnung, einen Index zu erstellen, wenn keine Verbindung besteht?

Wenn es sich bei einigen Spalten um Indizes mit geringer Selektivität handelt, müssen die Daten beim Erstellen des Index zum Importieren der Daten sortiert werden, was sich auf die Importleistung auswirkt und Probleme bei der Rückgabe der Tabelle durch den Sekundärindex verursacht. Wenn die Menge der gefilterten Daten groß ist, ist ein direkter vollständiger Tabellenscan schneller.

Für OLAP-Geschäftsabfragen (OLAP ist

Online Analytical Processing

,

wird zur Datenanalyse verwendet

und ermöglicht uns die gleichzeitige Analyse von Informationen aus mehreren Datenbanksystemen) ist Hash-Join eine wesentliche Funktion. MySQL 8.0 beginnt mit der Unterstützung des Hash Join-Algorithmus und stärkt so die Unterstützung für OLAP-Geschäfte. Wenn also die von Ihnen abgefragte Datenmenge nicht zu groß ist und die Antwortzeit der Abfrage auf Minutenebene erforderlich ist, können Sie eine einzelne Instanz von MySQL 8.0 verwenden, um die Abfrage großer Datenmengen abzuschließen.

2. So funktioniert Hash JOIN: Hash JOIN scannt die beiden zugehörigen Tabellen: Zuerst wird beim Scannen der Laufwerkstabelle eine Hash-Tabelle erstellt Beim Scannen der zweiten Tabelle wird jeder zugehörige Datensatz in der Hash-Tabelle durchsucht. Wenn der Datensatz gefunden wird, wird er zurückgegeben.

Hash-Join-Auswahltreibertabelle und Nested-Loop-Join-Algorithmus, beide sind grundsätzlich gleich. Beide kleineren Tabellen werden als Treibertabellen verwendet. Wenn die Treibertabelle groß ist und die erstellte Hash-Tabelle die Speichergröße überschreitet, speichert MySQL die Ergebnisse automatisch auf der Festplatte. 3. Unterabfrage

Ich habe festgestellt, dass einige Entwicklungsstudenten, darunter auch ich, es vorziehen, Unterabfragen anstelle traditioneller JOIN-Anweisungen zu schreiben.

Die Logik der Unterabfrage ist sehr klar. Obwohl JOIN auch die Anforderungen erfüllen kann, ist es nicht leicht zu verstehen, da LEFT JOIN eine algebraische Beziehung ist und Unterabfragen eher aus der Perspektive des menschlichen Denkens verstanden werden können.

In MySQL 8.0 optimiert der Optimierer jedoch automatisch die In-Unterabfrage in einen JOIN-Ausführungsplan, was die Leistung erheblich verbessert. Wir müssen uns nur auf den SQL-Ausführungsplan konzentrieren. Wenn die beiden Ausführungspläne gleich sind, gibt es keinen Leistungsunterschied.

Vor MySQL 8.0 hat MySQL Unterabfragen nicht vollständig optimiert. Daher sehen Sie im Ausführungsplan der Unterabfrage den Hinweis ABHÄNGIGE UNTERABFRAGE, was darauf hinweist, dass es sich um eine abhängige Unterabfrage handelt und die Unterabfrage auf die Zuordnung der externen Tabelle angewiesen sein muss. Die Ausführung einer abhängigen Unterabfrage kann sehr langsam sein, und in den meisten Fällen müssen Sie sie manuell in einen Join zwischen zwei Tabellen umwandeln.

Also der Blogger hier TippsAlle, wenn Ihre aktuelle MySQL 8.0-Version Unterabfragen schreiben kann, da die Optimierung von Unterabfragen ziemlich vollständig ist;

Für MySQL-Versionen vor MySQL 8.0 müssen Sie die SQL-Ausführung aller Unterabfragen anzeigen . Tipps für DEPENDENT SUBQUERY müssen optimiert werden, da dies sonst erhebliche Auswirkungen auf die Leistung hat. Die Optimierung von DEPENDENT SUBQUERY wird normalerweise als abgeleitete Tabelle für Tabellenverknüpfungen umgeschrieben.

Empfohlenes Lernen: MySQL-Video-Tutorial

Das obige ist der detaillierte Inhalt vonZusammenfassung der MySQL-Prinzipien: Left Join, Right Join, Inner Join und Hash Join. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

MySQL: Einfache Konzepte für einfaches Lernen MySQL: Einfache Konzepte für einfaches Lernen Apr 10, 2025 am 09:29 AM

MySQL ist ein Open Source Relational Database Management System. 1) Datenbank und Tabellen erstellen: Verwenden Sie die Befehle erstellte und creatEtable. 2) Grundlegende Vorgänge: Einfügen, aktualisieren, löschen und auswählen. 3) Fortgeschrittene Operationen: Join-, Unterabfrage- und Transaktionsverarbeitung. 4) Debugging -Fähigkeiten: Syntax, Datentyp und Berechtigungen überprüfen. 5) Optimierungsvorschläge: Verwenden Sie Indizes, vermeiden Sie ausgewählt* und verwenden Sie Transaktionen.

Wie man phpmyadmin öffnet Wie man phpmyadmin öffnet Apr 10, 2025 pm 10:51 PM

Sie können PhpMyAdmin in den folgenden Schritten öffnen: 1. Melden Sie sich beim Website -Bedienfeld an; 2. Finden und klicken Sie auf das Symbol phpmyadmin. 3. Geben Sie MySQL -Anmeldeinformationen ein; 4. Klicken Sie auf "Login".

MySQL: Eine Einführung in die beliebteste Datenbank der Welt MySQL: Eine Einführung in die beliebteste Datenbank der Welt Apr 12, 2025 am 12:18 AM

MySQL ist ein Open Source Relational Database Management -System, das hauptsächlich zum schnellen und zuverlässigen Speicher und Abrufen von Daten verwendet wird. Sein Arbeitsprinzip umfasst Kundenanfragen, Abfragebedingungen, Ausführung von Abfragen und Rückgabergebnissen. Beispiele für die Nutzung sind das Erstellen von Tabellen, das Einsetzen und Abfragen von Daten sowie erweiterte Funktionen wie Join -Operationen. Häufige Fehler umfassen SQL -Syntax, Datentypen und Berechtigungen sowie Optimierungsvorschläge umfassen die Verwendung von Indizes, optimierte Abfragen und die Partitionierung von Tabellen.

Warum MySQL verwenden? Vorteile und Vorteile Warum MySQL verwenden? Vorteile und Vorteile Apr 12, 2025 am 12:17 AM

MySQL wird für seine Leistung, Zuverlässigkeit, Benutzerfreundlichkeit und Unterstützung der Gemeinschaft ausgewählt. 1.MYSQL bietet effiziente Datenspeicher- und Abruffunktionen, die mehrere Datentypen und erweiterte Abfragevorgänge unterstützen. 2. Übernehmen Sie die Architektur der Client-Server und mehrere Speichermotoren, um die Transaktion und die Abfrageoptimierung zu unterstützen. 3. Einfach zu bedienend unterstützt eine Vielzahl von Betriebssystemen und Programmiersprachen. V.

So verwenden Sie ein einzelnes Gewinde -Redis So verwenden Sie ein einzelnes Gewinde -Redis Apr 10, 2025 pm 07:12 PM

Redis verwendet eine einzelne Gewindearchitektur, um hohe Leistung, Einfachheit und Konsistenz zu bieten. Es wird E/A-Multiplexing, Ereignisschleifen, nicht blockierende E/A und gemeinsame Speicher verwendet, um die Parallelität zu verbessern, jedoch mit Einschränkungen von Gleichzeitbeschränkungen, einem einzelnen Ausfallpunkt und ungeeigneter Schreib-intensiver Workloads.

MySQL und SQL: Wesentliche Fähigkeiten für Entwickler MySQL und SQL: Wesentliche Fähigkeiten für Entwickler Apr 10, 2025 am 09:30 AM

MySQL und SQL sind wesentliche Fähigkeiten für Entwickler. 1.MYSQL ist ein Open -Source -Relational Database Management -System, und SQL ist die Standardsprache, die zum Verwalten und Betrieb von Datenbanken verwendet wird. 2.MYSQL unterstützt mehrere Speichermotoren durch effiziente Datenspeicher- und Abruffunktionen, und SQL vervollständigt komplexe Datenoperationen durch einfache Aussagen. 3. Beispiele für die Nutzung sind grundlegende Abfragen und fortgeschrittene Abfragen wie Filterung und Sortierung nach Zustand. 4. Häufige Fehler umfassen Syntaxfehler und Leistungsprobleme, die durch Überprüfung von SQL -Anweisungen und Verwendung von Erklärungsbefehlen optimiert werden können. 5. Leistungsoptimierungstechniken umfassen die Verwendung von Indizes, die Vermeidung vollständiger Tabellenscanning, Optimierung von Join -Operationen und Verbesserung der Code -Lesbarkeit.

Mysqls Platz: Datenbanken und Programmierung Mysqls Platz: Datenbanken und Programmierung Apr 13, 2025 am 12:18 AM

Die Position von MySQL in Datenbanken und Programmierung ist sehr wichtig. Es handelt sich um ein Open -Source -Verwaltungssystem für relationale Datenbankverwaltung, das in verschiedenen Anwendungsszenarien häufig verwendet wird. 1) MySQL bietet effiziente Datenspeicher-, Organisations- und Abruffunktionen und unterstützt Systeme für Web-, Mobil- und Unternehmensebene. 2) Es verwendet eine Client-Server-Architektur, unterstützt mehrere Speichermotoren und Indexoptimierung. 3) Zu den grundlegenden Verwendungen gehören das Erstellen von Tabellen und das Einfügen von Daten, und erweiterte Verwendungen beinhalten Multi-Table-Verknüpfungen und komplexe Abfragen. 4) Häufig gestellte Fragen wie SQL -Syntaxfehler und Leistungsprobleme können durch den Befehl erklären und langsam abfragen. 5) Die Leistungsoptimierungsmethoden umfassen die rationale Verwendung von Indizes, eine optimierte Abfrage und die Verwendung von Caches. Zu den Best Practices gehört die Verwendung von Transaktionen und vorbereiteten Staten

Überwachen Sie Redis Tröpfchen mit Redis Exporteur Service Überwachen Sie Redis Tröpfchen mit Redis Exporteur Service Apr 10, 2025 pm 01:36 PM

Eine effektive Überwachung von Redis -Datenbanken ist entscheidend für die Aufrechterhaltung einer optimalen Leistung, die Identifizierung potenzieller Engpässe und die Gewährleistung der Zuverlässigkeit des Gesamtsystems. Redis Exporteur Service ist ein leistungsstarkes Dienstprogramm zur Überwachung von Redis -Datenbanken mithilfe von Prometheus. In diesem Tutorial führt Sie die vollständige Setup und Konfiguration des Redis -Exporteur -Dienstes, um sicherzustellen, dass Sie nahtlos Überwachungslösungen erstellen. Durch das Studium dieses Tutorials erhalten Sie voll funktionsfähige Überwachungseinstellungen

See all articles