next Einführung in den Resourcen-Plan
up High-Performance-Tuning
previous Stored Outlines
  Contents   Index

Subsections


Materialized Views

Materialized Views (Materialisierte Sichten) sind Tabellen mit Daten basierend auf einer Abfrage.

Beispiel

Gegeben: 1 Million order_details
Hinweis: ANALYSE nicht vergessen
Folgende Abfrage dauert ca. 15 Sekunden:
select orderid,count(*) 
  from order_details 
  group by orderid
;
Nach Erstellen einer Materialized Views ist die Abfragedauer lediglich 0,07 Sekunden.


CREATE MATERIALIZED VIEW

Vor dem Erstellen muß die entsprechende Tabelle analysiert werden.
analyze table order_details compute statistics;
create materialized view mv1
  build immediate
  refresh on commit
  enable query rewrite
  as
    select orderid,count(*) from
      order_details group by orderid
;


BUILD

IMMEDIATE   sofort
DEFERRED   nach dem ersten Refresh


REFRESH

COMPLETE   vollständiges Neuerstellen (default)
FAST   nur die Veränderungen
    Bei FAST muß ein Log erstellt werden.

COMMIT   nach jedem Commit
REFRESH   geschieht durch dbms_snapshot.refresh('mv1')


Voraussetzungen

Berechtigung:
grant CREATE MATERIALIZED VIEW to user;
Analysieren der Tabelle für den Cost-Based Optimizer.
analyze table tabelle compute statistics;
Parameter
alter session set query_rewrite_enabled=true;
alter session set query_rewrite_enabled=true;
alter session set query_rewrite_integrity=enforced | stale_tolerated;
stale_tolerated   auch veraltete Daten möglich
enforced   keine veralteten Daten möglich

Hilfreiche Einstellungen

set timing on;
set autotrace on exp;

Übung Materialized Views

Übungen siehe Seite [*].
next Einführung in den Resourcen-Plan
up High-Performance-Tuning
previous Stored Outlines
  Contents   Index


Stefan Hietel dama.go GmbH, Robert Warnke http://rowa.giso.de