Heim > Artikel > Backend-Entwicklung > Wie optimiert MySQL eine SQL-Anweisung mit einer großen Datenmenge und zwei Tabellen, die abgefragt werden müssen?
Zwei Tabellen A hat 2000 Einträge und B hat 20 Millionen Einträge
wählen Sie a.xxx,b.xxx,b.xxxx aus A als linken Join b als b auf a.id = b.bid, wobei a .xx = 0 und a.xxx != 0;
Zwei Tabellen A hat 2000 Einträge und B hat 20 Millionen Einträge
wählen Sie a.xxx,b.xxx,b.xxxx aus A als linken Join b als b auf a.id = b.bid, wobei a .xx = 0 und a.xxx != 0;
Paging-Suche, keine großen Datenmengen auf einmal abrufen
Die beiden zu überprüfenden redundanten Felder von b befinden sich in Tabelle a, sodass keine Verknüpfung erforderlich ist
Es muss zwischengespeichert werden, sonst kann die Datenbank es definitiv nicht unterstützen
Wenn die Datenmenge Dutzende Millionen erreicht, müssen Sie eine horizontale Aufteilung in Betracht ziehen
Zuallererst bin ich kein Back-End-Mensch, daher kann ich Ihnen nur sagen, was ich weiß
Ich weiß nicht, ob das Tool den Ausführungsplan sehen kann. Schauen Sie sich den Ausführungsprozess an. Welcher Prozess größere Daten generiert, hängt davon ab, ob er optimiert werden kann
Ich weiß auch, dass das Hinzufügen von Indizes eine Optimierung ermöglichen sollte