Melhor maneira de executar consultas Oracle periodicamente

Eu preciso saber qual é a melhor prática sobre a execução de uma consulta periodicamente no Oracle (estou usando11g).

No meu caso de uso particular eu tenho umDUE_DATE especificado na tabelax. O que eu quero fazer é executar uma consulta às 00:01 todos os dias para calcular o status (OK, Warn, Critical ou Overdue) de alguns registros. O status de um registro específico é calculado a partir da data de hoje (em que 'hoje' é o dia em que a consulta está sendo executada) em relação ax.DUE_DATE e alguns valores especificados pelo usuário para o que significa "warn" e "critical" (contidos na tabelay).

OK ->today < x.DUE_DATE - y.WARNAvisar ->today >= x.DUE_DATE - y.WARN and today < x.DUE_DATE - y.CRITICALCrítico ->today >= x.DUE_DATE - y.CRITICAL and today <= x.DUE_DATEVencido ->today > x.DUE_DATE

Qual é a melhor maneira de executar essa consulta periodicamente? Eu encontrei as seguintes opções, mas não tenho certeza qual é o melhor para o meu caso de uso:

Visualizações materializadasDBMS_SCHEDULER

Eu sei que eu poderia calcular o status dinamicamente a cada solicitação do usuário, mas como os stauses mudam apenas uma vez por dia, achei que seria mais eficiente fazer o cálculo e armazenar em cache o resultado subsequente uma vez por dia também.

Muito obrigado antecipadamente.

questionAnswers(2)

yourAnswerToTheQuestion