Heim >Datenbank >MySQL-Tutorial >Warum führen Fensteraggregatfunktionen mit gemeinsamen Unterausdruckspools zu solch hohen logischen Lesevorgängen?
Warum sind logische Lesevorgänge für Fensteraggregatfunktionen mit gemeinsamen Unterausdruckspools so hoch?
Sie haben das in Ausführungsplänen mit gemeinsamen Unterausdrücken bemerkt Spools sind die gemeldeten logischen Lesevorgänge für große Tabellen deutlich höher als erwartet. Die Untersuchung zeigt eine Formel, die wahr zu sein scheint: Logische Lesevorgänge der Arbeitstabelle = 1 NumberOfRows 2 NumberOfGroups 4.
Verstehen der Formel
Die hohe Logik Lesevorgänge ergeben sich aus der einzigartigen Art und Weise, wie Arbeitstabellen Lesevorgänge verarbeiten. Logische Lesevorgänge beziehen sich in diesem Zusammenhang auf die Anzahl der gelesenen Zeilen, nicht auf gehashte Seiten. Das bedeutet, dass die Arbeitstabelle für jede verarbeitete Zeile einen logischen Lesevorgang registriert.
Aufschlüsselung der logischen Lesevorgänge
Replikationsversuch mit Lower Logische Lesevorgänge
Ihr Versuch, den Prozess mit einer Heap-Tabelle zu replizieren, zeigt nur 11 logische Lesevorgänge, weil:
Fazit
Die Formel, die Sie „found“ gilt als wahr, da es die Anzahl der von der Arbeitstabelle gelesenen Zeilen genau wiedergibt. Die höheren logischen Lesevorgänge sind auf die zeilenbasierte Zählmethode und nicht auf Ineffizienz zurückzuführen. Der in Ihrer ursprünglichen Abfrage verwendete Plan mit verschachtelten Schleifen verstärkt diese Zahl noch weiter.
Das obige ist der detaillierte Inhalt vonWarum führen Fensteraggregatfunktionen mit gemeinsamen Unterausdruckspools zu solch hohen logischen Lesevorgängen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!