0

有没有办法可以安排 Oracle 运行查询并将该数据保存到表中?

或者有什么方法可以安排执行一次单独运行的 Oracle 查询并将数据保存到表中?

我有一个自动报告页面,由于在很长一段时间内执行繁重的逻辑(涵盖 2 年的数据 + 逻辑计算),该页面存在性能问题。如果客户点击报告页面,他们会抱怨加载时间过长;通过在当前时间将数据转储到表中可以解决我的问题。

4

1 回答 1

5

您可以创建物化视图

CREATE MATERIALIZED VIEW mv_name
  REFRESH COMPLETE
  START WITH sysdate
  NEXT sysdate + interval '1' hour
AS
<<your query here>>

这将创建一个每小时刷新一次的物化视图。物化视图将数据存储在一个也被命名的表段中MV_NAME,您可以像任何其他表一样查询该表段。

根据查询,您可以通过在基表上创建适当的物化视图日志来执行增量刷新而不是完全刷新。

于 2013-04-02T06:31:04.933 回答