Die Verbindungsgeschwindigkeiten von Where- und äquivalenten Abfragen sind grundsätzlich gleich, und die Verknüpfungen nicht äquivalenter Abfragen sind im Allgemeinen langsamer.
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
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).
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.
Wir erstellen eine neue Tabelle „member_v2“, in der nur 20 % der Klassen-ID in „member_class.id“ vorhanden sind.
Wie unten gezeigt:
Wir fragen weiterhin den vollständigen Tabellentest ab :
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!