【发布时间】:2015-08-07 14:57:30
【问题描述】:
到目前为止,我有一个包含 2200 万条记录的表(在 Oracle 12c 中),并且每天插入 10000 条记录。我们需要根据这张表进行计数,如:
select col1, col2, count(*) cnt from my_table group by col1, col2;
此查询将返回少于 30 行,col1、col2 的组合将是唯一的。
我们的应用程序需要经常检查CNT 的值,但CNT 的近似值已经足够了。这意味着我们可以创建一个物化视图并每 10-20 分钟刷新一次。
物化视图是这个需求的好选择,还是我应该为它创建一个常规表?
提前致谢!!!
【问题讨论】:
-
MView 本身使用从视图返回的数据创建一个表。所以我看不出区别
-
@ILLUMINATI7590,是的,MV 只是基于视图的表。但是,通过一个简单的 create 语句,它可以创建表、视图、用于填充和刷新表的计划作业;简而言之,这就像一站式购物。在合适的情况下,MV 非常好用。
-
也许在
col1和col2上创建位图索引(每列一个)。那么查询应该会快很多。
标签: oracle