Skip site navigation (1) Skip section navigation (2)

Peripheral Links

Header And Logo

PostgreSQL
| The world's most advanced open source database.

Site Navigation

Search for
  Advanced Search

Materialized Views



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



Home | Main Index | Thread Index

Privacy Policy | PostgreSQL Archives hosted by Command Prompt, Inc. | Designed by tinysofa
Copyright © 1996 – 2008 PostgreSQL Global Development Group