Montag, April 11, 2016

Neue Transformation "Group-by and Aggregation Elimination" in 12.1.0.2

Im Blog der Optimizer-Entwickler hat Nigel Bayliss eine Optimizer-Transformation vorgestellt, die in 12.1.0.2 eingeführt wurde und den Namen "Group-by and Aggregation Elimination" trägt. Was die Transformation leistet, ist Folgendes: wenn eine Query mit Gruppierung und aggregierenden Funktionen auf einer Inline-View basiert, die ihrerseits wieder eine Gruppierung und aggregierende Funktionen enthält, dann kann der Optimizer die beiden Gruppierungsschritte zusammenfassen. Das klingt so simpel, wie es in den Beispielen des Artikels auch aussieht: in den Plänen erscheint dann nur noch eine (HASH) GROUP BY Operation (an Stelle von zwei Operationen des Typs). Obwohl die Transformation sehr harmlos aussieht, ist die zugehörige Logik allerdings sehr komplex, was zum Auftreten von Bugs führte (die Mike Dietrich in seinem Blog gelegentlich erwähnte), die nzwischen aber durch einen Patch behoben sein sollten.

Keine Kommentare:

Kommentar veröffentlichen