Sonntag, Januar 30, 2011

Memory-Verwendung bei Hash-Aggregations

Randolf Geist zeigt in seinem Blog (wie üblich sehr ausführlich und mit umfassenden Test-Scripts versehen), dass ältere Oracle Versionen (vor 10.2.0.5 bzw. 11.2.0.1) Probleme mit der korrekten Bestimmung des für HASH-Sortierungen erforderlichen Arbeitsspeichers haben, wenn automatisches PGA-Management im Spiel ist:
If your database uses automatic PGA management then for the hash aggregation HASH GROUP BY / HASH UNIQUE operations every initial execution that is based on bad cardinality estimates potentially has a problem because it might not make efficient use of the available memory.

The same applies to applications that share cursors, however in that case only the initial execution after re-optimization / invalidation is affected, subsequent executions benefit from the workarea statistics feedback mechanism.

Furthermore in 10g versions below 10.2.0.5 and 11g versions below 11.2.0.1 the initial execution of a HASH UNIQUE operation ignores the cardinality estimates and will always be based on minimum assumptions.

So you might want to carefully check the runtime execution statistics of your critical hash aggregations.
Für DWH-Operationen ist das auf jeden Fall ein Effekt, den man im Auge behalten muss.

Keine Kommentare:

Kommentar veröffentlichen