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

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 (view raw or flat)
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

pgsql-de-allgemein by date

Next:From: rene hankelDate: 2006-06-22 13:14:26
Subject: Re: Materialized Views
Previous:From: Andreas SeikDate: 2006-06-22 12:30:12
Subject: Materialized Views

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group