Zaktualizuj widok zmaterializowany, gdy zmieniają się pilne tabele

Mam zdefiniowany w ten sposób widok zmaterializowany:

CREATE MATERIALIZED VIEW M_FOO
REFRESH COMPLETE ON COMMIT
AS
    SELECT FOO_ID, BAR
    FROM FOO
    WHERE BAR IS NOT NULL
    GROUP BY FOO_ID, BAR
/

COMMENT ON MATERIALIZED VIEW M_FOO IS 'Foo-Bar pairs';

Napisałem jako rodzaj pamięci podręcznej: tabela źródłowa jest ogromna, ale liczba różnych par jest dość mała. Potrzebuję tych par, aby połączyć je z innymi stołami. Do tej pory tak dobrze: absolutnie przyspiesza zapytania.

Ale chcę się upewnić, że widok nie zawiera przestarzałych danych. Podstawowa tabela jest modyfikowana cztery lub pięć razy w miesiącu, ale niekoniecznie wiem kiedy. Rozumiem, że widok zmaterializowany można zdefiniować, więc aktualizuje się, gdy zmieniają się tabele źródłowe. Jednak dokumenty stają się dość skomplikowane.

Jaka jest dokładna składnia, której muszę użyć?

Czy muszę utworzyć dziennik widoku zmaterializowanego?

Jaka jest różnica między szybkim i kompletnym odświeżeniem?

questionAnswers(2)

yourAnswerToTheQuestion