Sonntag, Januar 01, 2012

CBO Verbesserungen in 11g

Christian Antognini hat die Powerpoint-Folien zu seiner Präsentation Challenges and Chances of the 11g Query Optimizer auf seiner Webseite verfügbar gemacht - und liefert damit eine sehr kompakte Zusammenfassung der in Version 11 ergänzten Features des CBO und der Statistikerfassung. Hier ein paar der aufgeführten Punkte:
  • Indizes
    • invisible indexes
    • Verwendung von linguistic indexes bei LIKE
    • Statistik Historie bleibt nach Index Rebuild erhalten (erst in 11.2)
  • CBO
    • FULL OUTER JOIN wird intern nicht mehr durch  UNION ALL abgebildet
    • Join-Filter Pruning (ist mir noch nicht völlig klar)
    • Table Expansion: unterschiedliche Teile einer partitionierten Tabelle können über unterschiedliche Zugriffswege abgearbeitet werden (FTS + Index-Zugriff)
    • Join Factorization: ein für mehrere Teile eines UNION ALL gemeinsamer Zugriff kann heraus faktoriert und nur einmal ausgeführt werden (erst in 11.2)
    • OR Expansion funktioniert auch mit FBI
    • Join Elimination: ein überflüssiger Join kann vermieden werden, wenn entsprechende Constraints existieren
    • Subquery Unnesting: NOT IN und NOT EXISTS werden in Joins umgewandelt, mit denen der CBO besser zurecht kommt
  • Statistiken
    • Bugs für System Statistics beseitigt
    • Präferenzen für Objekt-Statistiken definierbar
    • Auto Sample Size funktioniert jetzt richtig
    • Pending Statistics: werden nicht unmittelbar nach der Anlage veröffentlicht
    • Incremental Statistics für partitionierte Tabellen (dazu gibt's hier ein paar weiterführende Anmerkungen)
    • Extended Statistics für Expressions und Spaltengruppen (in 11.2.0.2 kann man automatisch bestimmen lassen, für welche Spaltengruppen solche Korrelationsstatistiken angelegt werden sollten)
    • Funktionen zum Vergleich von Statistiken
  • Plan Stabilität
    • cursor_sharing = similar ist deprecated; es wurde gelegentlich als Krücke für Applikationen, die keine Bindevariablen verwenden, vorgeschlagen
    • Einführung von SPM
    • Adaptive Cursor Sharing
    • Cardinality Feedback

Keine Kommentare:

Kommentar veröffentlichen