【发布时间】:2015-09-03 03:20:46
【问题描述】:
有没有人有最好的方法来每月优化从数据库中的视图绘制的实体化视图。我使用了“标准”,但是否有任何其他的花里胡哨可以提供快速有效的刷新数据和减少查询时间的视图?
提前致谢。
MATERIALIZED VIEW Table_X
REFRESH
FAST
START WITH SYSDATE
NEXT DATE '2016-01-01' + 31
WITH PRIMARY KEY
As <Query>
【问题讨论】:
-
您是否尝试针对物化视图优化查询?还是优化物化视图的刷新?你的
next date没有多大意义,所以我猜这不是你真正拥有的。物化视图真的可以快速刷新吗?一个月内的更改量是否足够小,以至于进行增量刷新而不是完全刷新实际上是有意义的? -
我正在尝试优化物化视图的刷新。物化视图将是汇总汇总。下一个日期可能是错误的。我会收集音量变化是半增量的,至少每月添加额外的行。增量和完全之间的速度差异是多少?谢谢。
-
如果您要检索表中的大部分行,如果在整个过程中累积的更改日志量,就像对表进行全面扫描比使用索引更有效一样与表中的行数相比,一个月大,完全刷新可能更有效。除此之外,我们还需要更多细节。查询是否命中分区表,其中只有最近的一个或两个分区更改了数据?如果是这样,您可能希望使用分区更改跟踪。
-
这些刷新是基于表上的常规 DML、仅直接路径插入、分区 DDL 还是它们的组合?
-
鉴于最新信息(即 6 个月或更早)将有最大的数据变化差异,我可以对月度或季度数据使用范围分区。更多背景知识:它包含 3 个聚合联合和 2 个左连接的视图,它们将聚合每月数据,然后物化视图将访问这些数据以汇总到汇总表中。
标签: oracle optimization materialized-views