Heim  >  Artikel  >  Datenbank  >  Vergleichende Analyse der MySQL-Mehrtabellenassoziation und Geschwindigkeit des Quellcodes

Vergleichende Analyse der MySQL-Mehrtabellenassoziation und Geschwindigkeit des Quellcodes

WBOY
WBOYnach vorne
2023-06-02 13:49:061274Durchsuche

Lassen Sie uns zunächst über die Schlussfolgerung sprechen.

Die Verbindungsgeschwindigkeiten von Where- und äquivalenten Abfragen sind grundsätzlich gleich, und die Verknüpfungen nicht äquivalenter Abfragen sind im Allgemeinen langsamer.

Experiment 1: Es gibt keine ungleichen Datensätze

Wir haben zwei Tabellen, nämlich member und member_class. Die Datenstruktur ist wie unten gezeigt, wobei member.class_id und member_class.id verwandte Felder sind

Vergleichende Analyse der MySQL-Mehrtabellenassoziation und Geschwindigkeit des Quellcodes

Vergleichende Analyse der MySQL-Mehrtabellenassoziation und Geschwindigkeit des Quellcodes

Wir Es wurden jeweils 200.000 Daten in die beiden Tabellen geschrieben, von denen member.class_id in member_class.id vorhanden sein muss (es gibt keine ungleichen Datensätze).

Überprüfen Sie die gesamte Tabelle

Vergleichende Analyse der MySQL-Mehrtabellenassoziation und Geschwindigkeit des Quellcodes

Um das Experiment genauer zu machen, Wir fragen die Ergebnisse 20 Mal ab:

wobei die Abfragezeit (Sekunden) ist:

0,253, 0,256, 0,256, 0,252, 0,257, 0,252, 0,260, 0,265, 0,253, 0,252, 0,254, 0,257, 0,254, 0,257 , 0,243, 0,250, 0,252, 0,252, 0,255, 0,284

auf Abfragezeit (Sekunden):

0,247, 0,260, 0,250, 0,246, 0,271, 0,24 7, 0,251, 0,247, 0,243, 0,247, 0,247 , 0,245, 0,249, 0,246, 0,247, 0,253, 0,248, 0,254, 0,251, 0,247, 0,250

Der Durchschnitt, bei dem die Abfrage 0,2557S beträgt, ist der Durchschnitt bei Abfrage 0,2498s. vernachlässigbar.

Experiment 2: Es gibt ungleiche Datensätze

Wir erstellen eine neue Tabelle „member_v2“, in der nur 20 % der Klassen-ID in „member_class.id“ vorhanden sind.

Wie unten gezeigt:

Vergleichende Analyse der MySQL-Mehrtabellenassoziation und Geschwindigkeit des Quellcodes

Wir fragen weiterhin den vollständigen Tabellentest ab :

Vergleichende Analyse der MySQL-Mehrtabellenassoziation und Geschwindigkeit des Quellcodes

Aufgrund der großen Anzahl ungleicher Datensätze in LEFT JOIN wird zu diesem Zeitpunkt eine große Anzahl von NULL-Werten angezeigt. Durch Auswahl der WHERE-Abfrage können ungleiche Datensätze während der Abfrage automatisch gefiltert werden.

So ist auch die Abfragezeit schneller.

Das obige ist der detaillierte Inhalt vonVergleichende Analyse der MySQL-Mehrtabellenassoziation und Geschwindigkeit des Quellcodes. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen