Najlepszy sposób okresowego uruchamiania zapytań Oracle

Muszę wiedzieć, jaka jest najlepsza praktyka dotycząca okresowego uruchamiania zapytania w Oracle (używam11g).

W moim konkretnym przypadku mamDUE_DATE określone w tabelix. Co chcę zrobić, to uruchomić kwerendę o 00:01 każdego dnia, aby obliczyć status (OK, Ostrzegaj, Krytyczny lub Zaległy) niektórych rekordów. Status konkretnego rekordu jest obliczany od dzisiejszej daty (gdzie „dzisiaj” to dzień uruchomienia zapytania) względemx.DUE_DATE oraz niektóre wartości określone przez użytkownika, co oznacza „ostrzegaj” i „krytyczny” (zawarte w tabeliy).

OK ->today < x.DUE_DATE - y.WARNOstrzegaj ->today >= x.DUE_DATE - y.WARN and today < x.DUE_DATE - y.CRITICALKrytyczny ->today >= x.DUE_DATE - y.CRITICAL and today <= x.DUE_DATEZaległe ->today > x.DUE_DATE

Jaki jest najlepszy sposób okresowego uruchamiania tego zapytania? Znalazłem następujące opcje, ale nie jestem pewien, co jest najlepsze dla mojego przypadku użycia:

Widoki zmaterializowaneDBMS_SCHEDULER

Wiem, że mógłbym po prostu obliczyć status dynamicznie przy każdym żądaniu użytkownika, ale ponieważ stauzy zmieniają się tylko raz dziennie, pomyślałem, że bardziej efektywnie będzie wykonywać obliczenia i buforować kolejne wyniki raz dziennie.

Z góry bardzo dziękuję.

questionAnswers(2)

yourAnswerToTheQuestion