Heim >Datenbank >MySQL-Tutorial >Warum zeigen meine fensterbasierten Aggregatabfragen unerwartet viele logische Lesevorgänge an, wenn ich gemeinsame Unterausdruckspools verwende?
Bei der Verwendung gemeinsamer Unterausdruck-Spools in Ausführungsplänen, insbesondere für Fenster-Aggregatfunktionen, überraschend hohe logische Lesevorgänge bei großen Tischen beobachtet. Dieses Verhalten wirft Bedenken hinsichtlich der Effizienz solcher Spools auf.
Im Gegensatz zu herkömmlichen Spooltabellen sind logische Lesevorgänge für Arbeitstabellen interne Strukturen, die zur Aggregation verwendet werden , werden unterschiedlich gezählt. Anstatt gehashte Seiten zu messen, werden die logischen Lesevorgänge der Arbeitstabelle für jede gelesene Zeile erhöht. Diese einzigartige Zählmethode führt zu scheinbar hohen Zählungen, obwohl Arbeitstabellen sehr effizient sind.
In Ihrem speziellen Fall lautet die Formel, die Sie entdeckt haben: „Logische Arbeitstabelle lautet = 1 NumberOfRows 2 NumberOfGroups 4“ gilt aufgrund des spezifischen Verhaltens dieser Spulen:
Während die Verfolgung von Seitenlesevorgängen für Arbeitstabellen keine Option ist, kann das Verständnis dieser einzigartigen Zählmechanismen helfen, die beobachteten hohen logischen Lesevorgänge zu erklären.
Weitere Erläuterungen finden Sie unter zu:
Das obige ist der detaillierte Inhalt vonWarum zeigen meine fensterbasierten Aggregatabfragen unerwartet viele logische Lesevorgänge an, wenn ich gemeinsame Unterausdruckspools verwende?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!