Materialized Views

From: Andreas Seik <andreas_neu(at)gmxpro(dot)de>
To: pgsql-de-allgemein(at)postgresql(dot)org
Subject: Materialized Views
Date: 2006-06-22 12:30:12
Message-ID: 200606221430.13439.andreas_neu@gmxpro.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-de-allgemein

Hallo Zusammen,

keine Ahnung ob mein Posting von gestern (Betr: cached views?) hier noch
einmal auftaucht. Ich hatte folgendes geschrieben:

"Ich habe Hier in meiner DB einige Views, die bei der Abfrage recht viel Zeit
benötigen.
Wenn ich jetzt sehr häufig auf diese Views zugreife multipliziert sich die
Zeit zu enormen Größen.
Dabei ändert sich die Views _in der Regel_ nicht, da sich die zugrundelegenden
Tabellen selten ändern.

Ich habe bissher nicht mit Triggern gearbeitet, aber ich könnte mir folgendes
vorstellen:

Ich habe anstelle der View eine Tabelle (Folgetabelle), die bei jedem lesenden
Zugriff zunächst prüft, ob sich die Grundlegende Tabellen gändert haben. Wenn
ja, dann erstelle diese Folgetabelle neu.

Kann man so etwas mit Triggern machen? Ist die Abfrage "ist die letzte
Änderung von Tabelle x älter als die letzte Änderung von Tabelle y" möglich
und schnell. Muß ich dann in den Grundlegenden Tabellen (wieder mit Triggern)
Zeitstempel setzen ? Oder geschieht das im Hintergrund sowieso?

Oder sollte ich das ganz anders angehen?"

Inzwischen habe ich das richtige Stichwort fuer google gefunden: Materialized
Views. Jonathan Gardner hat hier schon einiges getan und beschrieben.

Seine Loesung ist aber nicht 100% passend fuer mich.
Er will Materialized Views partiell aktualisieren immer wenn sich grundlegende
Tabellen aendern. Ich moechte Sie komplett aktualisieren, bevor gelesen wird.
Aber nur, wenn sich seit dem vorhergendem lesenden Zugriff die grundlegenden
Tabellen gaendert haben. Das diese Matviews dann keine gute constraints
liefern koennen ist ein Einschraenkung, mit der ich leben kann.

Ich will das Rad nicht neu erfinden oder in eine Sackgasse laufen.
Hat jemand eine Idee fuer mich.

Danke,
Andreas

Responses

Browse pgsql-de-allgemein by date

  From Date Subject
Next Message A. Kretschmer 2006-06-22 13:02:55 Re: Materialized Views
Previous Message Bernd Helmle 2006-06-20 12:08:49 Re: CHECK-Constraint mit WHERE ?