Indizes in MySQL-Ansichtsabfragen verwenden
Problem:
Es treten Leistungsprobleme auf mit einer MySQL-Ansicht, da der Index einer zugrunde liegenden Tabelle nicht in ansichtsbasierten Abfragen verwendet wird.
原因:
MySQL überträgt keine Filterprädikate (z. B. WHERE). passierte_in = 2006) von äußeren Abfragen in Ansichtsabfragen. Stattdessen materialisiert es die Ansichtsergebnisse als temporäre Zwischentabelle und wendet das Prädikat auf diese Tabelle an. Daher können Indizes für die Originaltabelle nicht effektiv genutzt werden.
Lösung:
Um Indizes in Ansichtsabfragen zu nutzen, müssen Sie einen geeigneten Index erstellen, der dies kann von der Ansichtsabfrage verwendet werden. In diesem Fall wird ein abdeckender Index empfohlen, der alle in der Ansichtsabfrage referenzierten Spalten enthält.
Optimaler Index:
CREATE INDEX highscores_IX3 ON highscores (Spieler, passiert_in, Ergebnis)
Warum es funktioniert:
Zusätzliche Überlegungen:
Das obige ist der detaillierte Inhalt vonWie kann ich Indizes in MySQL-Ansichtsabfragen nutzen, um die Leistung zu verbessern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!