Re: Materialized Views

From: "A(dot) Kretschmer" <andreas(dot)kretschmer(at)schollglas(dot)com>
To: pgsql-de-allgemein(at)postgresql(dot)org
Subject: Re: Materialized Views
Date: 2006-06-22 13:02:55
Message-ID: 20060622130255.GD15401@webserv.wug-glas.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-de-allgemein

am 22.06.2006, um 14:30:12 +0200 mailte Andreas Seik folgendes:
> 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.

Es gibt IIRC leider keine Trigger auf SELECT.

> Kann man so etwas mit Triggern machen? Ist die Abfrage "ist die letzte

Du könntest mittels Trigger dir einen Zeitstempel merken, wenn Du die
Basistabelle änderst.

Dann schreibst Du Dir eine SRF, die:

- prüft, ob Zeitstempel existiert.
Falls ja: Nachfolgetabelle erstellen, Zeitstempel löschen
- Nachfolgetabelle ausgeben

>
> Ich will das Rad nicht neu erfinden oder in eine Sackgasse laufen.

Klar, ist doch okay.

> Hat jemand eine Idee fuer mich.

Meine nannte ich. Ob das gut & richtig ist oder es möglicherweise
bessere Lösungen gibt, weiß ich nicht.
Vielleicht kannst Du auch das SELECT, was den View liefert, optimieren.
Aber ich gehe davon aus, das EXPLAIN Dir schon bekannt ist.

Andreas
--
Andreas Kretschmer (Kontakt: siehe Header)
Heynitz: 035242/47215, D1: 0160/7141639
GnuPG-ID 0x3FFF606C http://wwwkeys.de.pgp.net
=== Schollglas Unternehmensgruppe ===

In response to

Responses

Browse pgsql-de-allgemein by date

  From Date Subject
Next Message rene hankel 2006-06-22 13:14:26 Re: Materialized Views
Previous Message Andreas Seik 2006-06-22 12:30:12 Materialized Views